인프런 커뮤니티 질문&답변

ho kim님의 프로필 이미지
ho kim

작성한 질문수

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

JobQueue #3

보편참조 관련 질문

작성

·

41

·

수정됨

0

image.png

강의 내용 22:00에 보편참조라고 설명해 주시면서
Job 생성자를 만들어주셨습니다.

image.png

하지만 Job생성자는 우측값 참조가 아니면 생성이 되지 않습니다.

반면에 우측값 참조로 넣어주면 전부 에러 없이 생성되었습니다

  1. Job 생성자가 보편참조라면 좌측값인 player로도 생성이 되어야 하지 않나요?

 

image.png

만약 Job 생성자가 보편참조가 아니라면

GRoom->PushJob(&Room::Enter, player) 부분에서

image.png

보편참조가 아닌 함수에서 L-value를 std::forward를 사용하면 오른쪽 참조값으로 바뀌기 때문에

 

auto job = ObjectPool<Job>::MakeShared(owner, memFunc, std::forward<Args>(args)...);

  1. 이함수는 결국 우측값 참조를 받는 Job생성자를 호출하게 되어 Job을 만들어 주었기 때문에 에러가 발생하지 않고 잘 실행 되었던거라고 이해하면 될까요?

     

  2. 만약 Job생성자가 보편참조가 아니라면 왜 보편참조가 될 수 없나요?

     

강의 핵심내용은 JobQueue에 관한 내용이지만

보편참조가 너무 헷갈려서 질문하게 되었습니다..

 

 

답변

답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!
ho kim님의 프로필 이미지
ho kim

작성한 질문수

질문하기