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
Alte URL:
/snippet/placement-new/807
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.
Es soll nur kompliziert aussehen 😛
aber was tut es?
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.
mir gings nicht darum, was placement new ist. das weiß ich schon (und wenn ich es nicht weiß, dann gibts da noch google) Aber hier wollen die Leute Lösungen sehen und deshalb wäre eine erklärung schön. Der Code hier sieht ja mal genau so aus 😉 und sogar noch mit Erklärung. http://www.devx.com/tips/Tip/12582