RVO
-
[C++] 복사 생성자와 RVO, NRVOStudy/C & C++ 2022. 9. 19. 16:24
01. 복사 생성자란? 같은 타입의 인스턴스를 매개변수로 받는 생성자를 의미한다. class A { public: A() {}; A(const A& a){}; // Copy Constructor }; 02. 복사 생성자가 호출되는 경우 복사 생성자가 호출되는 경우는 세 가지이다. 기존 생성 객체를 사용해 새로운 객체를 초기화하는 경우 Call-By-Value 형식으로 함수의 매개변수를 전달할 때 Value 형태로 함수에서 return할 때 A origin; // 1. A copy(origin); A copy1 = origin; // 2. void Copy(A a) { // do something } // 3. A Copy2() { return A(); } 그렇다면, 아래 코드의 결과는 어떨까? #incl..