내가 코딩에 제대로 된 입문을 C#으로 했기도 하고 독학으로 배운 기간도 꽤 길기 때문에
포인터에 대해서 막연히만 알고 있었는데 언리얼의 C++에서 또한 포인터가 필요하기에
이번에 정식으로 강의에서 처음 교육을 받게 되었다.
두 변수를 스왑하는 문제에 대해서 설명을 했는데, 인수 A와 B의 '값'을 스왑하는 함수를
제작해서 바꿨지만 함수를 호출한 쪽의 변수 A,B는 서로 바뀌지 않았다는 문제였다.
처음에는 왜 안바뀌지 싶었는데, 당연히 변수 자체가 바뀐 게 아닌 함수에서 임시로
설정된 두 값 A,B가 바뀌었을 뿐 변수 자체가 바뀐게 아닌걸 금세 파악할 수 있었고,
인수 A B에 변수 A B가 들어간 게 아닌 값을 잠시 복사해준 격이라는 설명이 있었다.
이걸 방지하기 위해서 변수 자체가 들어갈 수 있게 하면 좋은데... 라는 고민이
포인터의 시작이다. 포인터는 원래도 알고 있었다. 그 변수가 메모리에서 할당 된
주소의 개념을 직접 전달해주는 것. UE5에도 포인터 타입이 지정이 가능한 걸
알게 되었고, 실제 포인터가 어디서 쓰이는지를 알 수 있었다.
포인터가 악명이 되게 높은데, 아무래도 C#이지만 다른 언어를 꽤 많이 연습했다보니
왜 그런지, 언제 써야하는지 그렇게 답답하진 않은 것 같다.
이상으로 도움이 되었길 바라며,
끝.
'기록용' 카테고리의 다른 글
Unreal Engine 5) 텍스쳐 각종 맵 연결법 (0) | 2025.04.06 |
---|---|
픽셀 계단 현상 해결하기 - Anti ailasing (AA, 안티 앨리어싱) (0) | 2024.08.30 |
제곱, 정수제곱, 분수제곱, 음수제곱을 계산하는 방법. (2) | 2023.10.22 |
기록용) 유니티 마우스로 카메라 회전(x축만), 3인칭 이동 (0) | 2023.04.01 |
Unreal Engine 5) Timeline(Animation) Paused 해결법 (0) | 2023.03.12 |
댓글