C++에서 함수에 파라미터를 넘길 경우....아래 두가지는 값에 의한 전달 


1. 함수 객체

2. 기본 데이터 타입 


그외 나머지는 const type& 형태로 넘기는데......이때..


1. 넘길려는 타입이 type 이면 생성과 소멸의 비용을 없앰( 함수에서 임시 객체가 생성 안됨 )

2. type이 아니지만 type으로 변환이 가능하다면 .. 이경우에는 임시 객체가 생기고 해당 임시객체가 const type&에 의해서 가르킨다


여기까지는 이해가 됬엉.. 근데 r-reference 를 왜 쓰는지 이해가 도통 안되는거야...


그래서 역 어셈블리로 보니까.. 조금은 추측되는게...


일딴 const type& 과 type&& 의 어셈 코드는 동일해,, 완전 동일했엉


근데 무엇이 차이를 만들까? 생각해 봤는데.. 그 부분은 바로 "수정을 허용 한다" (= type&& )  "수정을 허용하지 않는다"( = const type& ) 인거 같아..


그럼.. const type& 를 const_cast< type& >( object ) 로 케스팅 하면.. 동일한 결과를 얻을수 있을꺼 같은데.. 말야..


내가 이해 하고 있는거...맞앙??