[c++] 생성자와 소멸자의 멤버 변수 초기화

C++에서 클래스의 멤버 변수를 초기화하는 기능은 생성자와 소멸자에서 중요합니다. 생성자는 객체가 생성될 때 호출되며 멤버 변수를 초기화하는 역할을 합니다. 반면에 소멸자는 객체가 소멸될 때 호출되며 메모리나 리소스 등을 정리하는 역할을 합니다.

생성자를 사용한 멤버 변수 초기화

C++에서는 생성자를 사용하여 멤버 변수를 초기화합니다. 다음은 생성자를 사용하여 멤버 변수를 초기화하는 간단한 예제입니다.

class MyClass {
public:
  int myVar;

  MyClass(int val) {
    myVar = val;
  }
};

위의 예제에서 MyClassmyVar이라는 멤버 변수를 가지고 있습니다. 생성자는 myVarval로 초기화하여 설정하는 역할을 합니다.

초기화 리스트를 사용한 멤버 변수 초기화

초기화 리스트(initialization list)를 사용하여 멤버 변수를 초기화할 수도 있습니다. 초기화 리스트를 사용하면 변수가 선언될 때 한번에 초기화되므로 성능상 이점이 있습니다.

class MyClass {
public:
  int myVar;

  MyClass(int val) : myVar(val) {
  }
};

위의 예제에서 MyClass는 초기화 리스트를 사용하여 myVarval로 초기화하는 것을 보여줍니다. 이 방식은 생성자의 본문(body)에 대입문을 사용하는 것보다 변수를 초기화하는 더 효율적인 방법입니다.

소멸자를 사용한 멤버 변수 정리

클래스에 동적 메모리 할당이나 리소스 해제 등의 작업이 필요한 경우 소멸자를 사용하여 멤버 변수를 정리합니다. 다음은 간단한 소멸자의 예제입니다.

class MyClass {
public:
  int* myPtr;

  MyClass() {
    myPtr = new int;
  }

  ~MyClass() {
    delete myPtr;
  }
};

위의 예제에서 MyClass의 소멸자는 new 연산자로 할당받은 메모리를 delete 연산자로 해제하고 있습니다.

생성자와 소멸자는 클래스의 멤버 변수를 올바르게 초기화하고 정리하는 데 중요한 역할을 합니다.

참고 자료