вызов конструктора копирования внутри другого конструктора

#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;
}

Я получаю на выходе пустую строку. Что стандарт C++ говорит о таком поведении?

8
задан eXXXXXXXXXXX2 19 March 2012 в 10:50
поделиться