스마트 포인터
하고싶은거/C++2024. 4. 12. 14:27스마트 포인터

스마트 포인터는 c++11부터 지원하는 기능으로, 메모리관리를 위한 기능이다. c++는 new를 사용해서 포인터로 실제 메모리를 가리키도록 하는데, new를 사용할 경우 다 사용한 후에 메모리를 해제해줘야 한다.(delete, nullptr) 그래서 스마트 포인터를 사용해서 자동으로 메모리 해제를 해서 메모리 관리의 효율성을 높힐 수 있다. Part1 12. 언리얼 엔진 메모리 관리UObject 선언 기본 원칙 언리얼 오브젝트 포인터 : UPROPERTY 선언 메모리 : 가지비컬렉터가 자동으로 관리하도록 위임 언리얼 엔진 자동 메모리 관리 C++ 메모리 관리 문제점 : 저수준으로 메모리 주ssin-estella.tistory.com이전 언리얼엔진의 가비지컬렉션과 비교하여 언리얼오브젝트가 아닌 c++오브젝..

Part1 12. 언리얼 엔진 메모리 관리
하고싶은거/Unreal2024. 3. 13. 16:35Part1 12. 언리얼 엔진 메모리 관리

UObject 선언 기본 원칙 언리얼 오브젝트 포인터 : UPROPERTY 선언 메모리 : 가지비컬렉터가 자동으로 관리하도록 위임 언리얼 엔진 자동 메모리 관리 C++ 메모리 관리 문제점 : 저수준으로 메모리 주소에 직접 접근하는 포인터 사용 포인터에 대한 new(할당), delete(해지)를 직접 해줘야함(안하면 이제..오류 투성이 됨) 근데 문제는 이걸 잘 못하면? 상당한 문제가 발생(프로그램 자체를 종료) 메모리 누수 : new하고 delete를 안해서 heap에 그대로 남아있음, 메모리 낭비 (도서관에 책빌리고 반납안함) 댕글링 포인터 (허상포인터) : 이미 delete된 주소를 가리키는 경우 (책반납했는데 책 찾고 있음) 와일드 포인터 : 포인터를 초기화되지 않아서 이상한 주소를 가리킴 C++에..

image