Avatar ·

Qual é a diferença entre struct e typedef struct em C++?

Olá a todos! Recentemente comecei a estudar C++ depois de C, e tive uma dúvida sobre a declaração de structs. Em C, eu costumava escrever assim: ```c typedef struct { int x; int y; } Point; ``` E depois usava `Point` como um tipo normal. Mas quando mudei para C++, vi que muitos escrevem simplesmente: ```cpp struct Point { int x; int y; }; ``` E depois usam `Point` sem `struct`. Isso me confunde. Tentei ambas as opções em C++, e ambas funcionam. Mas qual é a diferença entre elas? É necessário usar `typedef struct` em C++? Ou isso é considerado má prática? Ouvi dizer que em C++ as structs são quase como classes, mas não tenho certeza de como isso afeta a declaração. O `typedef` pode afetar o desempenho ou a forma como o compilador processa o código? Agradeço por uma explicação detalhada com exemplos. <<>>

Diferença chave: C vs C++

Em C++, a keyword struct cria automaticamente um nome de tipo, então typedef