예 :할당 연산자에 RVO가 발생하지 않는 이유는 무엇입니까? (C++)
A myfunction() { return A(); }
A a = myfunction(); // default ctor only (return value optimization)
a = myfunction(); // default ctor and operator=
왜 컴파일러는 단지 기존 개체에 새 개체를 쓸 수 없습니다? 클래스의 모든 인스턴스가 동일한 양의 (동적이지 않은) 메모리를 차지한다고 생각합니다. 그래서 이것이 왜 문제가되는지 알지 못합니다.
당신은 왜 컴파일러 그냥 A'가 현재 소유하고 어떤 자원'기존 개체? * ... 그리고 누출에 새 개체를 쓸 수 없습니다 (11) – aaronman
* C++를 사용하고, 당신이 최적화가 켜져 있습니까? – Praetorian
일부 컴파일러는 생성자, 할당 연산자 및 소멸자가 컴파일러에서 생성되거나 일부 경우 사소한 경우가있을 수 있습니다. – user964970