임시로 만들어진 A(2) 자체를 c로만든다는게 무슨뜻이냐
코드는 위와같음
A(2)를 만들어서 c에 복사하는게 아니라 c 주소에서 그냥 A(2)를 만들어버린다고
아 주소로 얘기하니까 알겟다 ㅇㅇ ㄱㅅㄱㅅ
저거 없으면 A(2)라는 임시 개체가 생성 -> c가 만들어질 때 호출되는 생성자의 스택으로 복사 -> 임시객체 파괴 및 생성자로 복사된 객체 파괴
괜히 두벌이나 만들어지는거 예방하겠다는거지
결국엔 자원절약이군 ㅇㅅㅇ
이거 근데 이제 옛날얘기임 c++17부터는 guaranteed copy elision임 - dc App
A(2)를 만들어서 c에 복사하는게 아니라 c 주소에서 그냥 A(2)를 만들어버린다고
아 주소로 얘기하니까 알겟다 ㅇㅇ ㄱㅅㄱㅅ
저거 없으면 A(2)라는 임시 개체가 생성 -> c가 만들어질 때 호출되는 생성자의 스택으로 복사 -> 임시객체 파괴 및 생성자로 복사된 객체 파괴
괜히 두벌이나 만들어지는거 예방하겠다는거지
결국엔 자원절약이군 ㅇㅅㅇ
이거 근데 이제 옛날얘기임 c++17부터는 guaranteed copy elision임 - dc App