C++ 11에서 R-value reference에 대한 설명이 잘 이해가 가지 않습니다 도와주세요ㅠㅠ
글쓴이: gustlr1222 / 작성시간: 목, 2013/04/18 - 10:40오전
http://itguru.tistory.com/189 이곳을 통해 공부하고 있습니다.
한페이지정도 스트롤을 내렸을때 나오는
X& X::operator=(<미지의 타입> rhs) { // [...] // m_pResource 와 rhs.m_pResource 를 교환 // [...] }
이 소스에서, 왜 "미지의 타입"이 필요한 것인가요? 몇일을 r-value reference에 대한 글을 찾아 읽고 있는데도 잘 이해가 안갑니다
그냥 리퍼런스(l-value reference)로 파라미터를 설정해도 리소스를 교환할 수 있지 않나요?
Forums:
x= foo()에서
foo()가 rvalue니까 rvalue를 커버할 수 있는 파라미터 타입으로 복사 대입 연산자를 정의해야 하는거죠~
foo()가 왜 rvalue인지를 모르시겠다면 다시 글을 천천히 읽어보심이 ㅎㅎ
그리고 저 글에서 말하는 미지의 타입이라는건 복사 대입 연산자의 매개변수가 lvalue 인자말고도 rvalue 인자 형식을 표현할 수 있어야 한다는거구요.
이렇게 결론지을 수 있나요?
답변 주셔서 감사합니다
임시객체 이면서 파괴될 rvalue와, 내역을 파괴해서는 안될 lvalue에 대한 복사 대입 연산 함수가, 서로 다르게 오버로딩 되어야 하기 때문이다...
이렇게 말할 수 있는건가요?
facebook.com/gustlr1222
IT와 관련된 소식을 함께 나누실 분 모두 환영합니다. 타임 라인에 글을 남겨주세요^^
댓글 달기