Mailinglist Archive: opensuse-programming-de (171 mails)
| < Previous | Next > |
Re: String -> UNIX-Time
- From: Ralf Corsepius <corsepiu@xxxxxxxxxxxxxx>
- Date: 27 Jan 2003 14:30:26 +0100
- Message-id: <1043674226.23103.89.camel@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx>
On Mon, 2003-01-27 at 13:12, Sebastian Huber wrote:
> On Monday 27 January 2003 08:23 am, you wrote:
> > On Mon, 2003-01-27 at 07:53, Sebastian Huber wrote:
> > > On Monday 27 January 2003 01:30, Philipp Thomas wrote:
> > > >
> > > > typedef struct mystruct_
> > > > {
> > > > int i;
> > > > int d;
> > > > } mystruct;
> > >
> > > Hi,
> > > also davon kann ich nur abraten, das bringt nur das gute Doxygen dazu
> > > Doku fuer 'mystruct_' und 'mystruct' zu erzeugen.
> >
> > Warum auch nicht?
> >
> > "struct mystruct_" und "typedef mystruct" sind zwei verschiedene Dinge.
>
> Ja, klar. Aber wozu braucht man 'struct mystruct_', wenn man den typedef hat?
z.B. zum Bauen von rekursiven Datenstrukturen (Listen u.ä.):
typedef struct _mystruct {
struct _mystruct *next;
[..]
} mystruct ;
[Schau Dir mal die Header der Xt/Xaw/Xm usw. Widgets
(/usr/include/X11/[Xt|Xaw|Xm]/*P.h] an, sie arbeiten extensiv mit dieser
Konstruktion]
z.B. aus Portabilitätsgründen: Manche (Sehr alte) C-Compiler akzeptieren
typedef struct { } mystruct
nicht.
z.B. zur Datenkapselung/Opaquisierung
Public Header:
typedef struct _mystruct mystruct;
extern mystruct *mystruct_var;
Private Header:
include <public-header.h>
struct _mystruct {
[..]
};
[Die Xt/Xaw/Xm Widgets z.B. arbeiten extensiv damit (*.h (public Header)
vs *P.h (private Header) ).]
z.B. aus Stilgründen/Code-Lesbarkeitsgründen in C++, da ein "struct
_mystruct" eindeutig ist, ein "_mystruct" aber nicht unbedingt:
typedef struct _mystruct {
int a;
} mystruct ;
extern struct _mystruct m1;
extern _mystruct m2;
extern mystruct m3;
Stell Dir vor Du findest an Zeile 2435 in einer C++-Quelle
_mystruct mystruct; oder mystruct mystruct;
Ein struct _mystruct mystruct wäre sofort verständlich.
[In C++ wäre es sinnvoller stattdessen nur "struct mystruct{}" zu
verwenden und den typedef ganz zu vermeiden.]
Ralf
> On Monday 27 January 2003 08:23 am, you wrote:
> > On Mon, 2003-01-27 at 07:53, Sebastian Huber wrote:
> > > On Monday 27 January 2003 01:30, Philipp Thomas wrote:
> > > >
> > > > typedef struct mystruct_
> > > > {
> > > > int i;
> > > > int d;
> > > > } mystruct;
> > >
> > > Hi,
> > > also davon kann ich nur abraten, das bringt nur das gute Doxygen dazu
> > > Doku fuer 'mystruct_' und 'mystruct' zu erzeugen.
> >
> > Warum auch nicht?
> >
> > "struct mystruct_" und "typedef mystruct" sind zwei verschiedene Dinge.
>
> Ja, klar. Aber wozu braucht man 'struct mystruct_', wenn man den typedef hat?
z.B. zum Bauen von rekursiven Datenstrukturen (Listen u.ä.):
typedef struct _mystruct {
struct _mystruct *next;
[..]
} mystruct ;
[Schau Dir mal die Header der Xt/Xaw/Xm usw. Widgets
(/usr/include/X11/[Xt|Xaw|Xm]/*P.h] an, sie arbeiten extensiv mit dieser
Konstruktion]
z.B. aus Portabilitätsgründen: Manche (Sehr alte) C-Compiler akzeptieren
typedef struct { } mystruct
nicht.
z.B. zur Datenkapselung/Opaquisierung
Public Header:
typedef struct _mystruct mystruct;
extern mystruct *mystruct_var;
Private Header:
include <public-header.h>
struct _mystruct {
[..]
};
[Die Xt/Xaw/Xm Widgets z.B. arbeiten extensiv damit (*.h (public Header)
vs *P.h (private Header) ).]
z.B. aus Stilgründen/Code-Lesbarkeitsgründen in C++, da ein "struct
_mystruct" eindeutig ist, ein "_mystruct" aber nicht unbedingt:
typedef struct _mystruct {
int a;
} mystruct ;
extern struct _mystruct m1;
extern _mystruct m2;
extern mystruct m3;
Stell Dir vor Du findest an Zeile 2435 in einer C++-Quelle
_mystruct mystruct; oder mystruct mystruct;
Ein struct _mystruct mystruct wäre sofort verständlich.
[In C++ wäre es sinnvoller stattdessen nur "struct mystruct{}" zu
verwenden und den typedef ganz zu vermeiden.]
Ralf
| < Previous | Next > |