¿Cuál es la diferencia entre struct y typedef struct en C++?
¡Hola a todos! Recientemente comencé a aprender C++ después de C, y tengo una pregunta sobre la declaración de estructuras. En C, solía escribir así:
```c
typedef struct {
int x;
int y;
} Point;
```
Y luego usar `Point` como un tipo normal. Pero cuando pasé a C++, vi que muchos escriben simplemente:
```cpp
struct Point {
int x;
int y;
};
```
Y luego usan `Point` sin `struct`. Esto me confunde. Probé ambas opciones en C++, y ambas funcionan. Pero, ¿cuál es la diferencia entre ellas? ¿Es necesario usar `typedef struct` en C++? ¿O se considera una mala práctica? He oído que en C++ las estructuras son casi como clases, pero no estoy seguro de cómo afecta esto a la declaración. ¿Puede `typedef` afectar el rendimiento o la forma en que el compilador procesa el código? Agradecería una explicación detallada con ejemplos.
<<>>
Diferencia clave: C vs C++
En C++, la palabra clave struct crea automáticamente un nombre de tipo, por lo que typedef