본문 바로가기

개발이야기26

언리얼 엔진의 델리게이트 기초와 심층분석 1.델리게이트(Delegate)란?델리게이트는 특정 이벤트가 발생했을 때 호출될 함수를 지정하는 방식입니다. 이는 C++의 함수 포인터와 유사하지만 더 안전하고 유연합니다 델리게이트와 이벤트 시스템의 차이점델리게이트는 함수 포인터의 역할을 하며, 특정 시점에 함수를 호출할 수 있게 합니다.이벤트는 델리게이트를 기반으로 하며, 여러 개의 델리게이트를 바인딩하여 특정 이벤트 발생 시 여러 함수를 호출할 수 있습니다.델리게이트의 활용 예제UI 버튼 클릭 이벤트 처리: UI 버튼이 클릭되었을 때 특정 함수를 호출하도록 설정.캐릭터 상태 변경: 캐릭터의 상태가 변경될 때마다 해당 상태에 맞는 함수를 호출.델리게이트의 메모리 관리델리게이트는 자동으로 메모리를 관리하지만, 바인딩된 객체가 소멸될 때 바인딩을 해제하는.. 2024. 5. 27.
언리얼 C++: #define #define은 C와 C++에서 매크로를 정의하는 데 사용하는 전처리기 지시문입니다. 매크로는 코드에서 반복적으로 사용되는 텍스트를 치환하는데 사용되며, 주로 상수나 간단한 함수처럼 사용됩니다. 매크로는 컴파일러가 소스 코드를 컴파일하기 전에 텍스트 치환을 수행하므로 코드의 가독성과 유지보수성을 높이는 데 도움을 줍니다. #define의 역할과 사용 방법#define은 주로 다음과 같은 용도로 사용됩니다:상수 정의:상수를 정의하여 코드에서 직접 숫자나 문자열을 사용하지 않도록 합니다.매크로 함수 정의:반복되는 코드 블록을 매크로로 정의하여 코드 중복을 줄이고 가독성을 높입니다.조건부 컴파일:특정 조건에 따라 코드를 컴파일할지 여부를 결정할 수 있습니다.  예제상수정의#define PI 3.14159PI라.. 2024. 5. 24.
언리얼 C++ : typedef와 typedef struct는 왜 사용하는 걸까? typedef는 C와 C++에서 데이터 타입에 새로운 이름을 부여하는 키워드입니다. typedef는 코드의 가독성을 높이고, 복잡한 데이터 타입을 간단하게 표현하는 데 유용합니다. 특히 구조체(struct)를 사용할 때 자주 사용되는데, 그 이유와 함께 자세히 설명하겠습니다.왜 typedef를 사용하는가?가독성 향상:복잡한 타입을 간단한 이름으로 바꿔서 코드가 더 읽기 쉽고 이해하기 쉽게 만듭니다.유지보수 용이성:데이터 타입이 변경되었을 때, typedef를 사용하면 변경된 타입을 정의한 한 곳만 수정하면 되므로 유지보수가 쉬워집니다.코드 일관성:같은 타입을 여러 곳에서 사용할 때, typedef를 통해 일관된 이름을 사용할 수 있습니다.왜 typedef struct를 자주 사용하는가?C에서는 구조체를 .. 2024. 5. 24.
언리얼C++: MINIMAL_WINDOWS_API란? MINIMAL_WINDOWS_API는 Windows 플랫폼에서 최소한의 Windows API를 사용하도록 지정하는 매크로입니다. Unreal Engine 5와 같은 게임 엔진에서 이 매크로를 사용하는 이유와 사용 시점을 설명드리겠습니다.왜 MINIMAL_WINDOWS_API를 사용하는가?Windows 플랫폼에서 코드를 작성할 때, Windows API는 매우 방대하고 다양한 기능을 제공합니다. 하지만 모든 기능을 사용하지 않는 경우가 많고, 필요 없는 기능까지 포함하면 컴파일 시간 증가, 메모리 사용량 증가, 충돌 가능성 증가 등의 문제를 일으킬 수 있습니다. MINIMAL_WINDOWS_API는 이러한 문제를 피하고, 필요한 최소한의 Windows API만 포함하도록 하기 위해 사용됩니다.MINIMAL.. 2024. 5. 24.