TIL - Today I Learned : 포인터와 * 연산자, 그리고 -> 연산자와 . 연산자들
오늘의 진도: Section 4: Crypt Raider 80. Pointer Types & GetOwner() ~ 81. Dereferencing & Arrow( -> ) Operator
Pointer Types & GetOwner()
데이터타입 * = 포인터 변수
어떤 데이터 타입에 *을 붙이면 해당 데이터 타입의 주소를 저장할 수 있는 포인터 변수가 된다.
&변수
변수 앞에 &을 붙이면 해당 변수의 주소를 나타낸다.
* 포인터변수
포인터 변수 앞에 *을 붙이면 해당 포인터가 가르키는 주소에 있는 값을 나타낸다
int num = 10;
int* pNum;
pNum = #
*pNum == num == 정수 10이고
pNum == &num == num의 주소이다.
AActor의 주소를 저장할 수 있는 AActor*라는 변수에 GetOwner() 함수를 호출 하였다.
AActor* Owner;
Owner = GetOwner();
GetOwner() 해당 컴포넌트를 가지고 있는 액터를 출력하면 해당 액터의 주소값이 출력되고 이 주소값은 플레이를 할 때마다 바뀐다. 이는 플레이할 때마다 레벨을 새로 생성하기 때문이다.
Dereferencing & Arrow( -> ) Operator
포인터 변수 앞에 *을 붙여서 주소가 가진 값을 가져오는 걸 Derefererncing, 역참조 이라 함
액터의 이름을 가져올 때도 액터 포인터 변수에 *을 붙여 액터 포인터의 값에 접근하여 액터의 함수를 사용 할 수 있는데
-> 연산자를 사용하여 간단히 접근 할 수 있다.
포인터라면 -> 으로 접근하고
구조체 라면 . 으로 접근한다.
찾아온 Actor의 이름과 위치를 출력해보았다.
학습 강의 : Udemy Unreal Engine 5 C++ 개발자: C++ 학습하고 비디오 게임 제작하기
'Unreal Engine > Udemy:UE5 C++ 학습하고 게임 만들기' 카테고리의 다른 글
Unreal Day - 25 - Reference & Pointer (0) | 2024.06.17 |
---|---|
Unreal Day - 24 - FMath::VInterpConstantTo (2) | 2024.04.21 |
Unreal Day - 22 - Inheritance & Composition (0) | 2024.04.19 |
Unreal Day - 21 - Light Types (0) | 2024.04.18 |
Unreal Day - 20 - Section Intro - Crypt Raider (1) | 2024.04.17 |