STL에서 즉.. new를 이용하여 생성한 객체를 삽입할 경우. 반드시 delete를 해줄것.
예를들어
vector<MyStrcut> objStruct; for( int i = 0; i < iMax ; i++){ MyStruct *pObj = new MyStruct; objStruct.push_back(pObj); } ... vector<MyStruct>::iterator itr; for(itr = objStruct.begin(); itr != objStruct.end(); itr++){ SAFEDELETE(itr); } objStruct.clear(); |
뭐.. 대략 위에처럼..
cf. SAFEDELETE는 내가 주로 사용하는 delete관련 코드를 매크로로 만들어둔것.
#define SAFEDELETE(X) if( X != NULL){ delete X; X = NULL; } |
위 매크로를 사용하는것은 포인터 객체를 delete할때에는 언제나.. NULL체크를 해주어야 하므로..
define을 해두면 한줄로 끝나지만 안하면 몇줄을 타이핑 해야한다. 그게 귀찮아서.. -_-a 항상 헤더에 정의하고 사용중..
반응형
댓글