목록2024/01/17 (1)
개발하는 리프터 꽃게맨입니다.
[C++] 스마트 포인터 - 1 (unique_ptr, unique_ptr 설계)
[ 목차 ] 1. 동적 메모리 C++에서 동적 메모리는 new로 할당하고 delete로 해제합니다. new는 객체를 할당하고 초기화하여 그 객체에 대한 포인터를 반환하고 delete는 소멸하며 할당한 메모리를 해제하죠. C++ 스타일의 동적 메모리는 Java, C#에 비해 빠르지만 큰 단점이 있는데, 메모리의 할당과 해제를 모두 프로그래머에게 맡긴다는 것입니다. 말로만 들어도 위험하죠? 객체를 생성했으면, 반드시 해제해 줘야 문제가 생기지 않는다는 건데, 이게 말처럼 쉽지 않습니다. 위와 같은 코드가 있다고 가정합니다. 함수 func에서 MyClass 메모리를 할당하고, 나중에 해제하려도 시도는 하고 있지만, 중간에 return을 만나서 함수가 종료되어 버리면, 그대로 메모리 누수가 일어나는 거서입니다...
언어/C, C++
2024. 1. 17. 00:35