본문 바로가기

Unreal/Udemy 강의

Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 4-20

Const 참조 & 아웃 매개 변수

참조가 빛을 발하는 건 함수의 매개 변수일때이다.

보통 함수로 값을 넣을 때, 기존 값을 복사하여 넣게 되지만 참조를 이용하여 값을 받으면 복사되지 않고 가져올 수 있다.

 

이번엔 함수 안에서 참조 변수의 값을 변경해보고 기존 값과 참조 변수의 값을 확인해보자.

두 변수의 값 모두 변경된 수치로 나오는 것을 볼 수 있다.

위와 같은 모습이 그리 바람직한 모습은 아니다.

왜냐하면 바꾸려고 하지 않았던 변수 또한 바꿔버려 실수로 엉뚱한 데미지를 부여할수도 있기 때문이다.

이를 위해 사용되는 것이 우리가 예전에 사용했던 const이다.

 

참조 변수에 const를 붙이니, 함수 내에서 값 변경이 불가능한 것을 볼 수 있다.

 

이렇게 const로 작성된 변수는 값 변경이 불가능하지만, const를 사용한 이후에 값을 변경하는 것을 원할수 도 있다.

이때 사용되는 것이 아웃 매개 변수이다.

 

우선 아웃 매개 변수를 받는 bool 타입 함수를 선언하여 데미지를 설정하고 데미지 유무를 반환해준다.

여기서 아웃 매개 변수는 뭔가를 넘겨주기 위한 변수가 아니라 뭔가를 넘겨받기 위한 변수이다.

그래서 해당 함수는 데미지를 얼마나 받았는지만 알려주는 역할을 하게 된다.

 

아웃 매개 변수인지 체크하는 방법은 크게 2가지로,

일반적으로 참조에 해당하지만 const로 표시되지 않은 값을 아웃 매개 변수일 가능성이 있으며,

또한 선언되었지만 값을 받지 못하고 즉시 함수로 전달된 변수가 보인다면 아웃 매개 변수로 의심할만 하다.