Es scheint, dass der Zuordner die gleiche Arbeit wie "Platzierung neu" und "Operator neu" ausführt. und seine Schnittstelle ist bequemer.Brauchen wir noch "Platzierung neu" und "Operator neu"?
Zum Beispiel:
string *ps = static_cast<string *>(operator new(sizeof(string)));
new (ps) string("Hello");
cout<<*ps<<endl;
kann
allocator<string> as;
string *ps2 = as.allocate(1);
as.construct(ps2,"Hello");
cout<<*ps2<<endl;
es so umgeschrieben werden, das bedeutet, dass "die Platzierung neue Operator" und "neuer" veraltet ist?
Für Abwärtskompatibilität. –
Genauer gesagt, 'Zuweiser' benötigt sowohl' Platzierung neu' als auch 'Operator neu', um das zu tun, was es tut. Ich würde sagen, sie sind nicht "veraltet", sondern sollten nicht im Client-Code verwendet werden. –
Platzierung ist in der Tat in der Lage, insbesondere in frei stehenden Umgebungen, wie eingebetteten Systemen und Osen. – Skeen