Возможный дубликат:
Что такое оптимизация при копировании и возврате значений?
Мне трудно понять, почему в следующем фрагменте кода конструктор копирования не вызывается.
#include <iostream>
class Test
{
public:
Test(int){std::cout << "Test()" << std::endl;}
Test(const Test&){std::cout << "Test(const Test&)" << std::endl;}
};
int main()
{
// Test test;
Test test2(Test(3));
return 0;
}
Может кто-нибудь объяснить, почему вызывается только конструктор и нет конструктора копирования?
Спасибо.