Unreal Engine

[UE] 유효성 검사

programmer-faust 2025. 8. 29. 04:22
  • 순서
    1. IsValid란?
    2. IsValid 검사
    3. nullptr 검사
    4. IsValid와 nullptr 검사의 차이
  • IsValid란?
    1. 언리얼 엔진에서 제공하는 UObject 안전 검사 함수이다.
    2. 단순히 포인터가 nullptr인지 뿐 아니라, UObject가 이미 Destroyed 상태인지까지 검사해줌. 즉 이 객체를 안전하게 접근할 수 있는지를 판단함.
  • IsValid 검사
    1. 포인터가 nullptr인지 검사
    2. UObject가 IsPendingKill() 상태인지 검사
    3. 둘 다 아니라면 true 반환하며 하나라도 해당되면 false를 반환함
  • nullptr 검사
    1. 단순히 포인터 자체가 nullptr 상태인지 확인
    2. 포인터가 메모리를 가리키고 있는지만 검사하기 때문에 이미 삭제된 객체라도 포인터가 남아 있으면 nullptr가 아니라 접근시 위험할 수 있음
  • IsValid와 nullptr 검사의 차이
항목 nullptr IsValid()
검사 대상 포인터 자체 포인터 + UObject 상태
Destroyed 객체 포인터는 남아있음 > false는 못잡음 IsPendingKill 체크 > false 반환
안전성 낮음 높음
사용 용도 일반 포인터 검사 UObject포인터, Actor 등 안전 접근

'Unreal Engine' 카테고리의 다른 글

[UE] 비헤이비어 트리와 FSM  (0) 2025.08.29
[UE] UE의 string 클래스  (1) 2025.08.29
[UE]TSubclassOf  (1) 2025.08.29
[UE]StaticClass와 GetClass  (0) 2025.08.29
[UE] 언리얼 빌드 툴/헤더 툴  (0) 2025.08.29