Avatar ·

Quelle est la différence entre struct et typedef struct en C++ ?

Bonjour à tous ! J'ai récemment commencé à apprendre le C++ après le C, et j'ai une question concernant la déclaration des structures. En C, j'avais l'habitude d'écrire : ```c typedef struct { int x; int y; } Point; ``` Et ensuite d'utiliser `Point` comme un type normal. Mais quand je suis passé au C++, j'ai vu que beaucoup écrivent simplement : ```cpp struct Point { int x; int y; }; ``` Et ensuite utilisent `Point` sans `struct`. Cela me trouble. J'ai essayé les deux options en C++, et les deux fonctionnent. Mais quelle est la différence entre elles ? Est-il nécessaire d'utiliser `typedef struct` en C++ ? Ou est-ce considéré comme une mauvaise pratique ? J'ai entendu dire qu'en C++, les structures sont presque comme des classes, mais je ne suis pas sûr de l'impact sur la déclaration. Est-ce que `typedef` peut affecter les performances ou la façon dont le compilateur traite le code ? Je serais reconnaissant pour une explication détaillée avec des exemples. <<>>

Différence clé : C vs C++

En C++, le mot-clé struct crée automatiquement un nom de type, donc typedef