exec.cpp: In constructor ‘Y::Y(int&&)’:
exec.cpp:57:10: error: invalid initialization of reference of type ‘int&&’ from expression of type ‘int’
exec.cpp: In constructor ‘Z::Z(ZZ&&)’:
exec.cpp:67:10: error: invalid initialization of reference of type ‘ZZ&&’ from expression of type ‘ZZ’
을하지만 정확히 왜 모르겠어요. 여기서 뭐가 잘못 됐니?
-std = gnu ++ 0x 옵션과 함께 g ++ 4.5.3을 사용하고 있지만 -std = C++ 0x 옵션에서도 발생합니다.
회원으로 참조 값을 저장하는 것이 유용한 경우를 찾기가 힘듭니다. 문제의 배경에 대해 좀 더 자세히 설명해 주시겠습니까? –
사실, 나는 단지 이동 의미론과 &&가 의미하는 것을 내 머리 속에서 생각하려고 노력하고있다. 나는 이유가 있는지 확실하지 않습니다. – Adrian
업데이트 : 멤버로 r 값 참조를 사용하면 값이 거의없고 해당 멤버가있는 객체의 수명이 매우 길면 매우 위험 할 수 있다고 생각합니다. 약간의 가치가있을 수 있지만 매우 적게 보입니다. – Adrian