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