복사 생략

    [C++ 11] 복사 생략(Copy Elision)

    [C++ 11] 복사 생략(Copy Elision) 컴파일러가 복사 또는 이동 연산자를 회피 할 수 있으면 회피하는 것을 허용하는 방식 Return Value Optimization / Named Return Value Optimization (예시) struct Foo { Foo() { std::cout Release로 빌드하는 이유) Foo nrvo_foo = NRVO_F(); } Named Return Value Optimization (NRVO) NRVO는 RVO에 속하는 종류로써 예전에는 이러한 NRVO_F 라는 함수 내부에 foo라는 이름을 가진 객체는 return 시켜도 최적화 시키지 않았다. 그러나 사람들이 이름을 가지더라도 최적화 시키자고 하였고 이를 NRVO(Named Return Va..