LR Value의 이해 - ④ Copy elision과 RVO
Copy elision과 RVO(Return value optimization) Copy elision optimization Copy elision이란 특정 상황에서 Copy와 심지어 Move까지도 생략하는 컴파일러 최적화를 뜻한다. 이전 글에서 Copy elision 최적화가 발생하는 한 가지 상황을 살펴보았다. class Cat { public: void setName(std::string s) { name = std::move(s); } private: std::string name; }; int main() { Cat kitty; // R-value 전달 : 0 copy kitty.setName("kitty"); return 0; } 위 코드에서 컴파일러는 컴파일 시간에 setName의 인자로 ..