Feedback

placement new

Sprache: C++

Demonstriet die Verwendung von placement new Mit new(buf) string("hi") wird kein neuer Speicher reserviert, sondern der bereits reservierte Speicher, auf den buf zeigt, verwendet. Weitere Informationen unter: http://www.devx.com/tips/Tip/12582
char * buf = new char [1000]; // pre - allocated buffer
string *p = new ( buf ) string ("hi" ); // placement new
string *q = new string ("hi" ); // ordinary heap allocation
char * buf = new char [1000]; // pre - allocated buffer
string *p = new ( buf ) string ("hi" ); // placement new
string *q = new string ("hi" ); // ordinary heap allocation

5 Kommentare

  1. was soll das darstellen? also so ganz ohne erklärung kann ich als versierter C++ Anwender mit 7 Jahren erfahrung so rein gar nichts anfangen. Und ich denke ein Anfänger kann damit auch nicht viel anfangen.

  2. Es soll C++ Programmierer mit 7 Jahren Erfahrungen, die placement new nicht kennen, schockieren 😉

    Mit new(buf) string(„hi“) wird kein neuer Speicher reserviert, sondern der bereits reservierte Speicher, auf den buf zeigt, verwendet.