¿Cuál es la diferencia entre struct y typedef struct en C++?
¡Hola! Soy nuevo en C++ y vengo de C. En C solía usar `typedef struct` para no tener que escribir la palabra clave `struct` cada vez que declaraba una variable. Por ejemplo:
```c
// Código C
typedef struct {
int x;
int y;
} Point;
Point p; // funciona sin 'struct'
```
Ahora estoy aprendiendo C++ y veo que muchos escriben simplemente:
```cpp
struct Point {
int x;
int y;
};
Point p; // ¡también funciona!
```
Me confunde: en C++, ¿es necesario usar `typedef struct` o se puede usar solo `struct`? ¿Cuál es la diferencia entre ellos? ¿Hay situaciones donde `typedef struct` sigue siendo útil? ¿O es solo una reliquia de C?
He probado ambas opciones en Visual Studio 2022, y ambas compilan. Pero quiero entender cuál opción se considera correcta y por qué. ¡Gracias de antemano por la explicación!
<<>>
Diferencia principal: C++ crea automáticamente un typedef para las estructuras
En C++, la palabra clave struct (al igual que class) crea automáticamente un tipo que se m