59. C++ new, delete

C++ new, delete

1. 개요

1.1 문서 개요

이 문서는 C++에서 메모리 동적 할당에 사용되는 newdelete 연산자에 관해 기록하는 문서입니다. 해당 연산자는 객체 또는 배열을 런타임에 동적으로 생성 및 소멸시키는 기능을 제공하며, C++의 메모리 관리 구조에서 핵심적인 역할을 합니다.

2. 내용

2.1 new 연산자

new 연산자는 C++에서 동적으로 메모리를 할당하는 데 사용됩니다. 사용 시 해당 타입의 객체를 생성하고, 힙(heap) 메모리에 저장된 그 객체의 포인터를 반환합니다.

2.1.1 단일 객체 할당

int* ptr = new int; // 정수형 변수에 대한 메모리 동적 할당
*ptr = 10;

2.1.2 배열 할당

int* arr = new int[5]; // 정수형 배열 5개 요소 동적 할당

2.1.3 사용자 정의 생성자 호출

class MyClass {
public:
    MyClass(int a) { ... }
};
MyClass* obj = new MyClass(10);

2.2 delete 연산자

delete 연산자는 new로 할당한 메모리를 해제할 때 사용됩니다.

2.2.1 단일 객체 해제

delete ptr;

2.2.2 배열 해제

delete[] arr;

2.3 new/delete의 특징

  • 타입 안전성 보장
  • 생성자 및 소멸자 자동 호출
  • malloc/free 대비 C++ 친화적 인터페이스 제공

3. 마무리

newdelete는 C++의 메모리 동적 관리에서 기본이 되는 연산자이며, 객체 생명주기와 관련된 관리에서 중요한 도구로 활용됩니다. 이들은 생성자 및 소멸자 호출을 자동으로 수행하여 C 언어의 malloc/free와 비교되는 명확한 구조적 장점을 갖습니다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

error: Content is protected !!
위로 스크롤