Data f(); 함수 있을 때



const Data& d1 = f();

const Data& d2 = f();


이런식으로 const 참조로 임시객체 잡고 있는데

이거 필요없지 않음? c++98대로라면 복사 일어나는데


이제 자동으로 최적화하는거 표준아님?

그래서 


Data d1 = f(); 

이렇게 해도 뒤에서 d1수정하는거 아니면 복사 안일어나지 않나?