#define : Alias de fonctions ou de champ d'une structure ?
25 réponses
Stephane Wirtel
bonjour à tous,
Je ne sais pas pourquoi, mais je pense avoir vu un jour un bout de code écrit en C ou C++, qui
donnait la possibilité de créer un alias d'un champ dans une structure.
Je pense que cela se basait sur #define, style:
typedef struct StructFun {
int age;
#define Age age
} StructFun;
Aurais-je rêvé ? Avez-vous déjà vu ayant une similitude avec ma description ?
| Dans le cas qui me motive (remplacer un .first par un .key, | si tu vois ce que je veux dire),
Non, mais je suppose que je dois lire la discussion sur fclc...
-- Gaby
Marc Boyer
Gabriel Dos Reis a écrit :
Marc Boyer writes:
| Dans le cas qui me motive (remplacer un .first par un .key, | si tu vois ce que je veux dire),
Non, mais je suppose que je dois lire la discussion sur fclc...
Pas la peine non. En fait, dans une implémentation d'une pseudo map en C, j'hésirait entre nommer les champs key/val (plus logique) et first/second (cf pair<> ). Avec une union anonyme pour chaque, je pouvais ne pas choisir.
Marc Boyer -- À vélo, prendre une rue à contre-sens est moins dangereux que prendre un boulevard dans le sens légal. À qui la faute ?
Gabriel Dos Reis <gdr@integrable-solutions.net> a écrit :
Marc Boyer <Marc.Boyer@enseeiht.yahoo.fr.invalid> writes:
| Dans le cas qui me motive (remplacer un .first par un .key,
| si tu vois ce que je veux dire),
Non, mais je suppose que je dois lire la discussion sur fclc...
Pas la peine non.
En fait, dans une implémentation d'une pseudo map en C,
j'hésirait entre nommer les champs key/val (plus
logique) et first/second (cf pair<> ).
Avec une union anonyme pour chaque, je pouvais ne pas
choisir.
Marc Boyer
--
À vélo, prendre une rue à contre-sens est moins dangereux
que prendre un boulevard dans le sens légal. À qui la faute ?
| Dans le cas qui me motive (remplacer un .first par un .key, | si tu vois ce que je veux dire),
Non, mais je suppose que je dois lire la discussion sur fclc...
Pas la peine non. En fait, dans une implémentation d'une pseudo map en C, j'hésirait entre nommer les champs key/val (plus logique) et first/second (cf pair<> ). Avec une union anonyme pour chaque, je pouvais ne pas choisir.
Marc Boyer -- À vélo, prendre une rue à contre-sens est moins dangereux que prendre un boulevard dans le sens légal. À qui la faute ?
Gabriel Dos Reis
Jean-Marc Bourguet writes:
[...]
| normal une contrainte telle qu'il faille faire l'acces a travers | l'union pour que ce soit valable (ce qu'en fait je pensais avant de | lire le paragraphe en question en cherchant a repondre a Marc).
C'est exactement l'intuition que j'avais il y a quelque mois avant une lecture moins rapide de la norme C. Des fois, on se demande s'ils ont pas fumé quelque chose...
-- Gaby
Jean-Marc Bourguet <jm@bourguet.org> writes:
[...]
| normal une contrainte telle qu'il faille faire l'acces a travers
| l'union pour que ce soit valable (ce qu'en fait je pensais avant de
| lire le paragraphe en question en cherchant a repondre a Marc).
C'est exactement l'intuition que j'avais il y a quelque mois avant une
lecture moins rapide de la norme C. Des fois, on se demande s'ils
ont pas fumé quelque chose...
| normal une contrainte telle qu'il faille faire l'acces a travers | l'union pour que ce soit valable (ce qu'en fait je pensais avant de | lire le paragraphe en question en cherchant a repondre a Marc).
C'est exactement l'intuition que j'avais il y a quelque mois avant une lecture moins rapide de la norme C. Des fois, on se demande s'ils ont pas fumé quelque chose...