/ Forside / Teknologi / Udvikling / C/C++ / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
C/C++
#NavnPoint
BertelBra.. 2425
pmbruun 695
Master_of.. 501
jdjespers.. 500
kyllekylle 500
Bech_bb 500
scootergr.. 300
gibson 300
molokyle 287
10  strarup 270
Typedef struct konstruktion
Fra : Bent Sørensen


Dato : 05-05-03 16:06

Hej,

Jeg faldt over noget kode, som jeg synes virker mærkeligt.
Her gengivet lidt skematisk:

typedef struct SomeResult SomeResult;
struct SomeResult
{
int a;
int b;
};
typedef SomeResult GetSomeResult;

Hvad er meningen med den første linie - er det ikke lidt
redundant?

Normalt ville jeg nok bare lave:

typedef struct
{
int a;
int b;
} SomeResult;

Jeg har leget lidt med det i MSVC 6, og kan ikke se at linie1
bruges til noget fornuftigt - det virker ens uanset om den er
med eller ej?

Har det noget at gøre med at nogle kompilere vil have det på en
bestemt måde?

Nogen der kan kaste lidt lys over dette?

/Bent



 
 
Byrial Jensen (05-05-2003)
Kommentar
Fra : Byrial Jensen


Dato : 05-05-03 19:53

Bent Sørensen wrote:
> typedef struct SomeResult SomeResult;
>
> Hvad er meningen med den første linie - er det ikke lidt
> redundant?

Jo, hvis der er tale om C++. Er det derimod C-kode, er det ikke redundant.


Thomas (05-05-2003)
Kommentar
Fra : Thomas


Dato : 05-05-03 21:07

> Jo, hvis der er tale om C++. Er det derimod C-kode, er det ikke redundant.

Hvorfor egentlig ikke? Jeg viser måske manglende erfaring, men giver typedef
struct SomeResult SomeResult;
ikke bare at SomeResult er en SomeResult?
Er det i forbindelse med særlig angivelse af struct? Med andre ord.. er det
for at give mulighed for senere at skrive SomeResult og droppe struct i den
sammenhæng, da struct ellers skal foran enhver struct-type i c?

Eller hvorledes...?



Kent Friis (05-05-2003)
Kommentar
Fra : Kent Friis


Dato : 05-05-03 21:18

Den Mon, 5 May 2003 22:07:01 +0200 skrev Thomas:
>> Jo, hvis der er tale om C++. Er det derimod C-kode, er det ikke redundant.
>
>Hvorfor egentlig ikke? Jeg viser måske manglende erfaring, men giver typedef
>struct SomeResult SomeResult;
>ikke bare at SomeResult er en SomeResult?
>Er det i forbindelse med særlig angivelse af struct? Med andre ord.. er det
>for at give mulighed for senere at skrive SomeResult og droppe struct i den
>sammenhæng, da struct ellers skal foran enhver struct-type i c?

Ja:

typedef struct structname typename;

struct structname x;
typename y;

Mvh
Kent
--
"A computer is a state machine.
Threads are for people who can't program state machines."
- Alan Cox

Søg
Reklame
Statistik
Spørgsmål : 177459
Tips : 31964
Nyheder : 719565
Indlæg : 6408193
Brugere : 218881

Månedens bedste
Årets bedste
Sidste års bedste