Avatar ·

Was sind POD-Typen in C++ und wozu braucht man sie?

Hallo zusammen! Ich habe angefangen, C++ zu lernen und bin auf den Begriff "POD-Typ" gestoßen. Ich habe die Dokumentation gelesen, aber nicht ganz verstanden. Ich bin auf Ausdrücke wie "trivial kopierbar" und "standard layout" gestoßen – mir dreht sich der Kopf.\n\nZum Beispiel habe ich zwei Strukturen:\n\n```cpp\nstruct Point {\n int x;\n int y;\n};\n\nstruct Person {\n std::string name;\n int age;\n};\n```\n\nIch habe gehört, dass `Point` ein POD-Typ ist, `Person` aber nicht. Aber warum? Beide Strukturen enthalten doch nur Daten.\n\nAußerdem interessiert mich die praktische Seite. Wo kann dieses Wissen nützlich sein? Ich habe gehört, dass POD-Typen sicher mit `memcpy` kopiert und in union verwendet werden können. Aber wie funktioniert das und wann wird es wirklich benötigt?\n\nErklärt mir bitte in einfachen Worten: Was ist POD in modernem C++ (C++11 und neuer), wie unterscheiden sie sich von