#include <stdlib.h>
#include <iostream>
#include <vector>
#include <string>
class A
{
public:
std::string s;
A()
{
s = "string";
new(this)A(*this);
}
};
int main()
{
A a;
std::cout<<a.s;
return 0;
}
Aparece una cadena vacía en la salida. ¿Qué dice el estándar de C++ sobre tal comportamiento?invocando el constructor de copia dentro de otro constructor
Auwgh, realmente necesito un café ahora. –
Tengo 'cadena' en la salida con GCC 4.5 – CapelliC
es esto: 'nuevo (esto) A (* this);' invocando el constructor de copia dentro de otro constructor? –