[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;
이렇게 클래스와 구조체를 동적으로 할당하고 해제하는 방법을 알아보았습니다. 동적 할당을 사용하면 프로그램이 더 효율적으로 메모리를 활용할 수 있습니다.
참고 자료
- cplusplus.com - Dynamic memory management
- cplusplus.com - new#char=name[50]; int age;}; ~
간단하게 동적 할당 방법을 C++을 이용하여 설명했습니다. 만약 질문이 더 있으시면 편하게 물어보세요.