Resultados de la búsqueda a petición "placement-new"
Qué miembro del sindicato se activa después de la colocación nueva
En relación con este código: #include <string> int main() { union u { u() { i = 0; } ~u() {} int i; std::string s1; std::string s2; } u; new (&u) std::string{}; } [intro.object] / 2 [https://timsong-cpp.github.io/cppwp/n4659/intro.object#2] ...
Is `new (this) MyClass ();` comportamiento indefinido después de llamar directamente al destructor?
Inesta pregunta mía [https://stackoverflow.com/questions/6036086/is-it-valid-to-directly-call-a-virtual-destructor] , @DeadMG dice que reinicializar una clase a través dethis puntero es comportamiento indefinido. ¿Hay alguna mención de ello en el ...
¿Cómo eliminar un objeto construido a través de un nuevo operador de colocación?
char * buf = new char[sizeof(T)]; new (buf) T; T * t = (T *)buf; //code... //here I should destruct *t but as it is argument of template and can be //instantiated via basic types as well (say int) so such code /*t->~T();*/ //is incorrect (maybe ...
¿Puedo usar la ubicación nueva (esto) en operator =?
Antecedentes Tengo una clase complicada con muchas variables. Tengo un constructor de copia de sonido y probado: Applepie::Applepie( const Applepie ©) : m_crust(copy.m_crust), m_filling(copy.m_filling) { }Algunos de los constructores de ...
Está bien definido / es legal para la colocación, varias veces en la misma dirección?
(Nota: esta pregunta fue motivada al tratar de idear un hacker de preprocesador para generar una asignación no operativa para responder a esta otra pregunta: Macro que acepta nuevo ...
Destruya y luego construya un nuevo objeto usando la misma variable
A veces es bueno comenzar de nuevo. En C ++ puedo emplear esta siguiente maniobra simple: { T x(31, Blue, false); x.~T(); // enough with the old x ::new (&x) T(22, Brown, true); // in with the new! // ... } Al final del alcance, el destructor ...