механизм вызова конструктора

struct my
{
   my(){ std::cout<<"Default";}
   my(const my& m){ std::cout<<"Copy";}
   ~my(){ std::cout<<"Destructor";}
};

int main()
{
   my m(); //1
   my n(my()); //2
}

Ожидаемый результат:

1 ) Default
2 ) Copy

Фактический результат:


Что не так с моим пониманием механизма вызова конструктора?

Примечание Я опустил файлы заголовков для краткости.

9
задан Kate Gregory 26 November 2010 в 15:28
поделиться