inflearn logo
강의

Khóa học

Chia sẻ kiến thức

[Loạt bài phát triển game MMORPG bằng C++ và Unreal] Phần 1: Nhập môn lập trình C++

tham chiếu giá trị

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

374

pdwer33761333

10 câu hỏi đã được viết

0

안녕하세요 선생님

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

우측값 사용에 대한의미도

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

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

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

C++

Câu trả lời 2

0

pdwer33761333

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

0

Rookiss

말씀대로 참조는 개념적으로 그냥 주소값을 넘기는 것입니다.
우리가 원하는 오른값&&은 그보다 더 심오한 의미를 담고 있으며
어떻게 보면 [이동시킨다]는 행위는 원본 객체가
더 이상 유효하지 않아도 된다는 의미로 받아들일 수도 있습니다.
포인터를 이리 저리 넘기는 것은 동일한 객체를 여러 군데에서 [바라보는] 것이고
[이동]이라는 행위는 객체 그 자체가 여러 군데에서 관리되지 않음을 의미합니다.
예를 들어 unique_ptr을 예로 들면 정말 딱 1개만 존재해야 하는 포인터인데
이를 다른 함수에 막 복사해서 사용하면 이상하겠죠?
그러니 분명히 구분이 필요하겠죠.

참고로 &&이 꼭 우측값을 의미하진 않고 
template이나 auto 등과 사용되면
보편 참조(universal reference)의 의미도 있습니다.

visualstudio에서 파일분할관리실습시 설정 문의를 드립니다.

0

546

1

정렬함수 좀 더 확실하게 이해 할 방법이 있을까요?

0

445

1

strcpy() 구현 관련 질문

0

519

1

빌드(망치)를 누르니 이런 오류가 떴습니다. 어떻게 해야 하나요?

0

461

1

클래스 타입의 포인터 질문합니다

0

550

1

입력값을 enum 값에 넣어주는거 이제 막혔나요?

0

501

1

템플릿 특수화 관련 질문

0

387

1

포인터 관련 질문합니다!

0

267

1

Unable to start assembler. Check your settings.

0

840

2

cpu선택

0

543

1

포인터 질문이 있습니다

0

330

1

20:35 에서 구조체 크기에 대한 질문입니다!

0

588

1

iterator 삭제관련

0

410

1

함수 호출을 디스어셈블러로 분석하다가 궁금점이 생겼습니다!

0

315

1

15 분 45초 대 질문

0

312

0

스택 프레임 질문합니다!

2

309

1

오른값 참조 in 게임

0

387

0

동적할당 질문이 있습니다

0

452

1

안녕하세요 메모리에 대해 질문드립니다.

0

309

1

함수객체 의 매개변수

0

365

1

복사생성자

0

439

1

main이나 endl 부분이 주황색으로 표시된건 어떻게 하나요

0

426

1

포인터 실습 강의를 보고 궁금한게 있습니다.

0

358

1

스택 오버플로우

2

794

1