우측값을 매개변수로 했을때의 의미
371
投稿した質問数 10
안녕하세요 선생님
일단 우측값을 사용할경우 어떻게 동작되는지 숙지했습니다.
우측값 사용에 대한의미도
값에대한 복사가 아닌 이동이라고하는데...
여기서 궁금한점은 굳이 && 우측값을 사용하는가 입니다.
기능적으로는 이동이라는 개념을 포인터나.. const가 아닌 레퍼런스로도 똑같이 따라할수있을거라고 생각합니다. 그 이유가 무엇인지 알수있을까요?
回答 2
0
말씀대로 참조는 개념적으로 그냥 주소값을 넘기는 것입니다.
우리가 원하는 오른값&&은 그보다 더 심오한 의미를 담고 있으며
어떻게 보면 [이동시킨다]는 행위는 원본 객체가
더 이상 유효하지 않아도 된다는 의미로 받아들일 수도 있습니다.
포인터를 이리 저리 넘기는 것은 동일한 객체를 여러 군데에서 [바라보는] 것이고
[이동]이라는 행위는 객체 그 자체가 여러 군데에서 관리되지 않음을 의미합니다.
예를 들어 unique_ptr을 예로 들면 정말 딱 1개만 존재해야 하는 포인터인데
이를 다른 함수에 막 복사해서 사용하면 이상하겠죠?
그러니 분명히 구분이 필요하겠죠.
참고로 &&이 꼭 우측값을 의미하진 않고
template이나 auto 등과 사용되면
보편 참조(universal reference)의 의미도 있습니다.
visualstudio에서 파일분할관리실습시 설정 문의를 드립니다.
0
543
1
정렬함수 좀 더 확실하게 이해 할 방법이 있을까요?
0
444
1
strcpy() 구현 관련 질문
0
515
1
빌드(망치)를 누르니 이런 오류가 떴습니다. 어떻게 해야 하나요?
0
455
1
클래스 타입의 포인터 질문합니다
0
548
1
입력값을 enum 값에 넣어주는거 이제 막혔나요?
0
500
1
템플릿 특수화 관련 질문
0
387
1
포인터 관련 질문합니다!
0
267
1
Unable to start assembler. Check your settings.
0
833
2
cpu선택
0
542
1
포인터 질문이 있습니다
0
326
1
20:35 에서 구조체 크기에 대한 질문입니다!
0
587
1
iterator 삭제관련
0
409
1
함수 호출을 디스어셈블러로 분석하다가 궁금점이 생겼습니다!
0
313
1
15 분 45초 대 질문
0
311
0
스택 프레임 질문합니다!
2
308
1
오른값 참조 in 게임
0
386
0
동적할당 질문이 있습니다
0
452
1
안녕하세요 메모리에 대해 질문드립니다.
0
307
1
함수객체 의 매개변수
0
362
1
복사생성자
0
437
1
main이나 endl 부분이 주황색으로 표시된건 어떻게 하나요
0
423
1
포인터 실습 강의를 보고 궁금한게 있습니다.
0
357
1
스택 오버플로우
2
792
1

