선언과 동시에 함수를 실행해야할 코드들이 있다.
대표적으로는 스레드를 담고 있는 객체라던지...
선언하고... 초기화하고... 시작하고... 실행하고...
일괄의 과정이 1개라도 틀리면 안되는 반드시 실행해야하는 함수들을 신경 안 쓰고 1줄로 해결하는 팁.
예를 들어 Class CObject가 있고
class CObject
{
public:
CObject();
~CObject();
void Initialize();
bool Start();
bool Run();
}
선언과 동시에 실행해야할 함수들이 있다면.
void main()
{
// 생성 하고, 초기화하고, 시작하고, 실행하고...
CObject* pObject = new CObject();
if( NULL != pObject )
{
pObject->Initialize();
pObject->Start();
pObject->Run();
}
( 중략 )
SAFE_DELETE( pObject );
}
해당 CObject를 아래와 같이 바꾸면 1줄로 해결...
class CObject
{
public:
~CObject();
// 생성과 동시에 함수 실행.
static CObject* CreateCObject();
private:
CObject();
void Initialize();
bool Start();
bool Run();
};
CObject* CObject::CreateCObject()
{
CObject* pObject = new CObject();
if( NULL != pObject )
{
pObject->Initialize();
pObject->Start();
pObject->Run();
}
return pObject;
}
void main()
{
// 1줄 끝.
CObject* pObject = CreateCObject();
( 중략 )
SAFE_DELETE( pObject );
}
뭐 그렇다고....
'[ Programing ] > Algorithm' 카테고리의 다른 글
[C++] mt19937 난수 생성기 (Random 클래스) (0) | 2019.11.21 |
---|---|
비트(bit)값 연산 정리. (0) | 2018.03.08 |
설정된 기간 관련 카운터(주간) 계산하기 (0) | 2014.01.10 |
SYSTEMTIME 시간 차이 TickTime -> Day 계산. mktime, difftime (0) | 2013.12.20 |
TickTime -> Date 구조체로. localtime_s (0) | 2013.12.20 |