[C++] Construct method

Programming/C++ Language 2010. 5. 27. 19:38
Resource leak 을 방지하기 위해, 생성자에서 할당(Allocation) 로직을 빼고, 이를 Construct 함수에 넣자. 즉, 생성자에서는 변수들을 초기화를 하고, Construct 함수를 만들어서 Construct 함수에서 할당 로직을 작성하도록 하자는 것이다. 생성자에 할당(Allocation) 로직을 넣었을 경우, 만에 하나 생성자가 실행 중일 때, 프로그램이 죽을 경우 소멸자가 호출되지 않음으로써 Resource leak 이 발생 할 수 있다.

TestClass::TestClass()
{
__abc = 0;
__pStr = "Test";
}

TestClass::Construct()
{
__ptr = new char( 10 );
}

int main()
{
TestClass Test = new TestClass();
Test.Construct();
return 0;
}


 

'Programming > C++ Language' 카테고리의 다른 글

[C++] Errors : cannot allocate an object of abstract type '???'  (0) 2010.06.14
[C++] 복사 생성자  (0) 2010.05.31
[C++] static_cast  (0) 2010.03.22
[C++] const  (0) 2010.03.19
[C++] 다양한 생성자 초기화 방법  (0) 2010.03.19

설정

트랙백

댓글