[c++] 구조체와 클래스의 동적 할당

동적 할당은 프로그램 실행 중에 메모리를 할당하고 해제하는 과정을 말합니다. C++에서 구조체와 클래스의 동적 할당 방법을 알아보겠습니다.

구조체의 동적 할당

구조체를 동적 할당하기 위해서는 new 연산자를 사용합니다. 예를 들어, 다음과 같이 구조체를 동적으로 할당할 수 있습니다.

struct Person {
    char name[50];
    int age;
};

Person* personPtr = new Person;

할당한 메모리는 사용한 후에는 해제해주어야 합니다. 메모리 누수를 방지하기 위해 delete 연산자를 사용하여 메모리를 해제합니다.

delete personPtr;

클래스의 동적 할당

클래스의 동적 할당은 구조체와 비슷하지만, 생성자와 소멸자가 호출되는 차이가 있습니다. 클래스를 동적으로 할당하려면 new 연산자를 사용하고, 메모리를 해제할 때는 delete 연산자를 사용합니다.

class Car {
    string brand;
    int year;
  public:
    Car(string b, int y) : brand(b), year(y) {}
};

Car* myCar = new Car("Toyota", 1999);

메모리 해제는 아래와 같이 수행합니다.

delete myCar;

이렇게 클래스와 구조체를 동적으로 할당하고 해제하는 방법을 알아보았습니다. 동적 할당을 사용하면 프로그램이 더 효율적으로 메모리를 활용할 수 있습니다.

참고 자료


간단하게 동적 할당 방법을 C++을 이용하여 설명했습니다. 만약 질문이 더 있으시면 편하게 물어보세요.