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
실제 출력 : 생성자 호출 메커니즘에 대한 이해 잘못 무엇
?
Note
간결함을 위해 헤더 파일을 생략했습니다.
RVO는 아니지만 실제로는 일반적인 최적화입니다. – MSalters
@MSalters : 네, 이건 RVO의 변형이라고 생각합니다. :) –