본문 바로가기

Unreal2

3. 언리얼 엔진 싱글케스트 델리게이트 기초 사실 나는 델리게이트에 대해서 잘 모른다.C#을 해본거도 아니고, 언리얼에서 함수 다룰때도 완전 초보식으로 다루기도 했고.... 그래서 이 김에 한번 언리얼 싱글케스트 델리게이트를 공부한 내용들을 정리해보려고 한다.(약간 틀릴 수도 있다.) 일단, 포인터는 런타임에 지정이 가능하다.그리고 가리키는 메모리 주소를 바꿀수 있다는 점도 유용하다. 표준타입 외에 함수에 대해서도 포인터를 생성이 가능하지만,여러가지 이유로 안전하지 않다고 한다. 그래서 이것 때문에 언리얼 엔진에서는 델리게이트를 쓴다고... 일단 델리게이트는 훨씬 안전한 함수 포인터라고 한다. 어떤 함수가 할당되는지 그 함수가 호출되는 순간까지 알지 못하는 상태에서미꾸라지마냥 유연하게 함수를 호출 할 수 있다고 한다. 이런 유연함이 델리게이트를 선.. 2024. 12. 5.
2. 언리얼 엔진의 메모리 관리에 대해서 *해당 글은 공부용으로, C++를 사용한 언리얼 엔진 4개발 2/e의 내용이 다수 포함 되었습니다. 이번에 언리얼 엔진의 메모리 관리에 대해서 한번 알아보겠다. 일단 기본적으로 언리얼은 C++을 사용중인다. 때문에 C에서 사용하던 malloc과 free보다는 new와 delete를 사용하는게 원칙이다.(사실 원칙이라기 보다는 권장이다.) new 연산자는 메모리 할당후 오브젝트가 생성된 직후에 생성자를 호출한다.하지만 malloc에서는 이것이 되지 않는다. (물론 다른 기능들 자체는 malloc과 거의 동일.) 그리고 무조건 new 연산자를 사용하여 동적할당을 했다면, free()가 아닌 delete로 동적할당을 해제해야한다. 아무튼 new는 사용할 연속적인 메모리 공간을 할당하고,생성자를 new연산자의 .. 2024. 12. 5.