C++Talk.NET Forum Index C++Talk.NET
C++ language newsgroups
 
Archives   FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Re: du C au C++

 
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French)
View previous topic :: View next topic  
Author Message
Jean-Noël Mégoz
Guest





PostPosted: Tue Apr 06, 2004 3:05 pm    Post subject: Re: du C au C++ Reply with quote




"Jean-Marc Bourguet" <jm (AT) bourguet (DOT) org> a écrit dans le message de
news:pxbekrfio0v.fsf (AT) news (DOT) bourguet.org...

Quote:
En C, c'est le nom de la structure, qui est dans un espace de nommage
separe et donc n'est pas un nom de type. Il est relativement courant
d'avoir

typedef struct truc { ... } truc;

Qui est autorise en C++ par compatibilite avec le C.

Il est tout aussi courant d'écrire :

typedef struct
{
} t_truc;

Le fait de nommer la structure après le "typedef struct" n'est nécessaire
qu'en cas de liste chaînée (la structure faisant alors référence à
elle-même) :

typedef struct chainon
{
chainon* suivant;
} t_chainon;



Back to top
Franck Franck Branjonneau
Guest





PostPosted: Tue Apr 06, 2004 3:30 pm    Post subject: Re: du C au C++ Reply with quote



"Jean-Noël Mégoz" <nospam_jnmegoz (AT) infonie (DOT) fr> écrivait:

Quote:
"Jean-Marc Bourguet" <jm (AT) bourguet (DOT) org> a écrit dans le message de
news:pxbekrfio0v.fsf (AT) news (DOT) bourguet.org...

En C, c'est le nom de la structure, qui est dans un espace de nommage
separe et donc n'est pas un nom de type. Il est relativement courant
d'avoir

typedef struct truc { ... } truc;

Qui est autorise en C++ par compatibilite avec le C.

Le fait de nommer la structure après le "typedef struct" n'est nécessaire
qu'en cas de liste chaînée (la structure faisant alors référence à
elle-même) :

typedef struct chainon
{
chainon* suivant;
} t_chainon;

Non, ce n'est pas nécessaire :

struct t_chainon;

struct t_chainon {
t_chainon* suivant;
};
--
Franck Branjonneau <fasbjx (AT) free (DOT) fr>

Back to top
Jean-Marc Bourguet
Guest





PostPosted: Tue Apr 06, 2004 4:22 pm    Post subject: Re: du C au C++ Reply with quote



Franck Franck Branjonneau <fasbjx (AT) free (DOT) fr> writes:

Quote:
"Jean-Noël Mégoz" <nospam_jnmegoz (AT) infonie (DOT) fr> écrivait:

"Jean-Marc Bourguet" <jm (AT) bourguet (DOT) org> a écrit dans le message de
news:pxbekrfio0v.fsf (AT) news (DOT) bourguet.org...

En C, c'est le nom de la structure, qui est dans un espace de nommage
separe et donc n'est pas un nom de type. Il est relativement courant
d'avoir

typedef struct truc { ... } truc;

Qui est autorise en C++ par compatibilite avec le C.

Le fait de nommer la structure après le "typedef struct" n'est
nécessaire qu'en cas de liste chaînée (la structure faisant alors
référence à elle-même) :

Necessaire ou pas, la structure que je donne ci-dessus est idiomatique
en C, au moins dans les organisations que j'ai frequentees.

Quote:
typedef struct chainon
{
chainon* suivant;
} t_chainon;

Non, ce n'est pas nécessaire :

En C++, je crois que tout le monde est d'accord il ne faut l'utiliser
que si la compatibilite avec le C est importante. Mais la discussion
portait justement sur le fait que c'est une difference avec le C.

A+

--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org

Back to top
Display posts from previous:   
Post new topic   Reply to topic    C++Talk.NET Forum Index -> C++ (French) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2006 phpBB Group
SEO toolkit © 2004-2006 webmedic.