Avatar ·

Was ist der Unterschied zwischen struct und typedef struct in C++?

Hallo zusammen! Ich habe kürzlich nach C angefangen, C++ zu lernen, und habe eine Frage zur Deklaration von Strukturen. In C war ich es gewohnt, so zu schreiben:\n\n```c\ntypedef struct {\n int x;\n int y;\n} Point;\n```\n\nUnd dann `Point` wie einen normalen Typ zu verwenden. Aber als ich zu C++ gewechselt bin, habe ich gesehen, dass viele einfach schreiben:\n\n```cpp\nstruct Point {\n int x;\n int y;\n};\n```\n\nUnd dann `Point` ohne `struct` verwenden. Das verwirrt mich. Ich habe beide Varianten in C++ ausprobiert, und beide funktionieren. Aber worin liegt der Unterschied zwischen ihnen? Muss ich `typedef struct` in C++ überhaupt verwenden? Oder gilt das als schlechte Praxis? Ich habe gehört, dass Strukturen in C++ fast wie Klassen sind, bin mir aber nicht sicher, wie sich das auf die Deklaration auswirkt. Kann `typedef` irgendwie die Performance beeinflussen oder die Art und Weise, wie der Compiler den Code verarbeitet? Ich wäre für jede Klarstellung dankbar!