Data Func(int Param)

{

Data data(Param);


return data;

}


이런 함수가 있는데 여기서 반환하면 'data의 정보를 가진 Data형 임시객체'가 생성되잖아요.


근데 data도 어쨋든 함수 내부에선 l-value인데 


왜 반환할때는 r-value로써 복사생성자의 매개변수로 전해지는거죠?


아무리생각해도 data가 함수내부에서 r-value였다.. 라고 가정을 해야지만 말이되는얘긴데..


이건아닌거같아서ㅏ..