동적 메모리 해제 매크로
Programming/C++ 2015. 5. 15. 15:12#define SAFE_DELETE(p) {if(p) {delete (p); (p) = 0; } }
#define SAFE_DELETE_ARRAY(p) {if(p) {delete[] (p); (p) = 0; } }
#define SAFE_RELEASE(p) {if(p) { p->Release(); (p) = 0; } }
void main()
{
int *pi = NULL;
pi = new int();
ASSERT( pi );
*pi = 3.141592f;
SAFE_DELETE(pi);
}
** 포인터가 NULL인 경우의 crash를 막기 위해서 해제하려는 포인터가 NULL인지를
검사하여야 한다.
해제 후에는 포인터를 NULL로 초기화한다.
출처 : 마이크로소프트웨어 c++ 99% 활용법
'Programming > C++' 카테고리의 다른 글
생성자 / 소멸자 (0) | 2015.05.29 |
---|---|
LARGE_INTEGER (0) | 2015.05.22 |
깊은 복사와 얕은 복사 (0) | 2015.05.13 |
복사생성자 (0) | 2015.05.13 |
클래스와 배열 (0) | 2015.05.13 |