Die Unterscheidung zwischen „neuem Operator“ und „neuem Operator“ kann verwirrend sein. Hier ist eine ausführliche Erklärung, um den Unterschied zu verdeutlichen.
Operator New ist eine Standard-C-Funktion, die nicht initialisierten Speicher vom Heap zuweist. Sie funktioniert ähnlich wie die Funktion malloc(), ist jedoch spezifisch für C.
Sie können „operator new“ direkt aufrufen, um Rohspeicher zu reservieren:
char *x = static_cast<char *>(operator new(100));
Das Überladen von „operator new“ ist möglich Passen Sie die Speicherzuweisung für bestimmte Klassen oder global an.
Der „neue Operator“ ist der primäre Methode zum Erstellen von Objekten in C . Es kombiniert die Funktionalitäten von Operator New und Klassenkonstruktoren.
Wenn Sie den Operator New verwenden:
my_class *x = new my_class(0);
Zuerst ruft er Operator New auf, um Rohspeicher für das Objekt my_class zuzuweisen. Anschließend wird der Konstruktor my_class(0) aufgerufen, um das Objekt in diesem Speicher zu initialisieren. Wenn die my_class eingebettete oder Basisklassenobjekte enthält, werden auch deren Konstruktoren aufgerufen.
Der grundlegende Unterschied zwischen dem „neuen Operator“ und dem „Operator neu“ liegt in ihrem Verhalten:
Zusammenfassend ist der Operator new eine niedrigere Ebene Funktion zum Zuweisen von Rohspeicher, während der „neue Operator“ eine Abstraktion auf höherer Ebene ist, die nahtlos die Speicherzuweisung und Objektinitialisierung abwickelt.
Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen dem C-Operator „new' und „operator new'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!