Avatar ·

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

Olá! Sou novo em C++ e vim do C. Em C, eu costumava usar `typedef struct` para não ter que escrever a palavra-chave `struct` toda vez ao declarar uma variável. Por exemplo:\n\n```c\n// Código C\ntypedef struct {\n int x;\n int y;\n} Point;\n\nPoint p; // funciona sem 'struct'\n```\n\nAgora estou aprendendo C++ e vejo que muitos escrevem simplesmente:\n\n```cpp\nstruct Point {\n int x;\n int y;\n};\n\nPoint p; // também funciona!\n```\n\nEstou confuso: em C++, preciso usar `typedef struct` ou posso usar apenas `struct`? Qual é a diferença entre eles? Existem situações em que `typedef struct` ainda é útil? Ou isso é apenas um resquício do C?\n\nTentei ambas as opções no Visual Studio 2022, e ambas compilam. Mas quero entender qual opção é considerada correta e por quê. Desde já, obrigado pela explicação!\n<<>>\n

Diferença principal: C++ cria automaticamente um typedef para estruturas

\n

Em C++, a palavra-chave struct (assim como class) cria automaticamente um tipo que m