C-Code ist normalerweise gültiger C ++ - Code.
Die Hauptprobleme mit C ++ sind die falsche Verwendung ( Linus Torvalds hasst es aus diesem Grund , er hatte auch einige andere Probleme mit der Portabilität von Bibliotheken und so weiter. Er arbeitet auf Betriebssystemebene und muss in der Lage sein, Dinge nach dem Zufallsprinzip auszuführen Chip da draußen).
Zum Beispiel gibt es fast keinen Vorteil, ein cstyle-Array [] gegenüber einem c ++ std :: vector <> (oder einem ähnlichen Container) zu verwenden.
Die Vektoren sind typsicher und können auf Grenzen geprüft werden (Sie können entweder mit get () oder [] auf Elemente zugreifen, auch wenn Sie die Methode array checked nicht verwenden, können Sie dennoch die Größe abfragen, anstatt sie mit dem Zeiger zu verschieben).
Vektoren können jedoch langsamer sein, wenn Sie beispielsweise die Standardgröße im Konstruktor nicht deklarieren. Das Hinzufügen von Dingen zu einem Vektor kann zu Verlangsamungen führen, wenn die Größe geändert werden muss. C ++ 11 bietet auch viele Vorteile wie die einheitliche Initialisierung (Sie können jetzt Vektoren mit derselben Syntax deklarieren und initialisieren) und es gibt Verschiebungskonstruktoren, mit denen Sie das Kopieren vermeiden können. Sie können sogar Ihre eigenen benutzerdefinierten Initialisierungen erstellen (wenn Sie aus irgendeinem Grund etwas anderes als malloc verwenden möchten).
Oder natürlich, wenn Sie die Größe ändern müssen, dann sind Vektoren immer noch einfacher zu handhaben, Sie müssen nicht mit malloc herumspielen, Dinge manuell kopieren und so weiter.
C ++ gibt Ihnen objektorientierten Code. Wenn es kompiliert wird, wird es genauso effizient sein, da es wirklich nur eine Abstraktion für Menschen ist, die mit dem Code arbeiten. Obwohl Dinge wie Konstruktoren die Objekterstellung verlangsamen können. Sie benötigen jedoch entweder den Konstruktor, um die Standardwerte festzulegen, oder Sie können Objekte auf andere Weise initialisieren, ohne den Konstruktor zu verwenden (indem Sie die () weglassen).
Aber die Objektorientierung erleichtert das Programmieren von Spielen erheblich . Spiele beschäftigen sich oft mit Objekten.