inflearn logo
강의

講義

知識共有

C++とUnrealで作るMMORPGゲーム開発シリーズ Part1: C++プログラミング入門

右値参照 (rvalue reference)

우측값을 매개변수로 했을때의 의미

371

pdwer33761333

投稿した質問数 10

0

안녕하세요 선생님

일단 우측값을 사용할경우 어떻게 동작되는지 숙지했습니다.

우측값 사용에 대한의미도

값에대한 복사가 아닌 이동이라고하는데...

여기서 궁금한점은 굳이 && 우측값을 사용하는가 입니다.

기능적으로는 이동이라는 개념을 포인터나..  const가 아닌 레퍼런스로도 똑같이 따라할수있을거라고 생각합니다. 그 이유가 무엇인지 알수있을까요?

C++

回答 2

0

pdwer33761333

그렇군요 감사합니다 선생님

0

Rookiss

말씀대로 참조는 개념적으로 그냥 주소값을 넘기는 것입니다.
우리가 원하는 오른값&&은 그보다 더 심오한 의미를 담고 있으며
어떻게 보면 [이동시킨다]는 행위는 원본 객체가
더 이상 유효하지 않아도 된다는 의미로 받아들일 수도 있습니다.
포인터를 이리 저리 넘기는 것은 동일한 객체를 여러 군데에서 [바라보는] 것이고
[이동]이라는 행위는 객체 그 자체가 여러 군데에서 관리되지 않음을 의미합니다.
예를 들어 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