Als ich vor kurzem begann, in Cocos2d zu entwickeln, war eines der ersten Merkmale, das ich sehr eigenartig fand, das Objective-C-Stil-Autorelease-Pool-Speichermodell. In meiner ganzen Erfahrung mit C++ habe ich es vermieden, irgendeine Form der dynamischen Speicherzuweisung zu verwenden, es sei denn, sie ist ABSOLUT notwendig (was sehr selten ist).Welche Vorteile bietet das benutzerdefinierte Speichermodell Cocos2d-x?
Zunächst war ich überrascht, dass Cocos2D Vorteil sichererer Alternativen nicht nahmen Zeiger Objekte für die Erstellung (zB Smart-Pointer), aber dann stieß ich auf this Gewinde, die die Nachteile der shared_ptr<class T>
diskutiert (die bedeutendsten was Geschwindigkeit war) gegenüber dem aktuellen Speicherparadigma in Bezug auf manuelle Retain/Release-Methoden.
Dann dachte ich, "warum nicht einfach ein Objekt regelmäßig zuweisen und seine Referenz übergeben und speichern, wenn nötig?" Ich verstehe, dass es sehr zeitaufwändig wäre, das gesamte Speichersystem von Cocos2d-x in ein neues Paradigma zu portieren, aber ist es auf lange Sicht nicht sinnvoll, stabileren idiomatischen C++ - Code zu verwenden?
Worauf kommt es an, welche Vorteile bietet das aktuelle Speichermodell im Gegensatz zur regulären Objektzuordnung?