#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;
}
Ho una stringa vuota nell'output. Cosa dice lo standard C++ su questo comportamento?invocazione di un costruttore di copia all'interno di un altro costruttore
Auwgh, ho davvero bisogno di un caffè ora. –
Ho ottenuto 'stringa' in uscita con GCC 4.5 – CapelliC
è questo: 'nuovo (questo) A (* questo);' richiama il costruttore di copie all'interno di un altro costruttore? –