우선 assert의 뜻을 보자.
1. 단언하다, 역설하다, 강력히 주장하다(⇒ declare [유의어])
2. <권리 등을> 주장[옹호]하다(defend)
3. [assert oneself로]a 의견[권리]을 주장하다;고집하다, 주제넘게 나서다
4. (당연한 일로) 가정하다
(출처 - 네이버 사전검색)
assert() 함수는 아주 강력하다.
뜻에서 부터 알 수 있듯이 아주 확고히 단언 하고 확언 할때 쓸 수 있는 함수 이다.
assert(조건식) 이 만족 할경우에는 이상 없이 지나간다.
하지만 조건식이 만족 하지 못 할 경우에는 메세지를 출력해서 프로그램을 강제 종료 시킨다.
즉, 결코 이 부분에서는 오류가 발생하지 않겠다고 생각했을때 넣어야 하며
그 예상치 못한 경우가 발생했을때 찾기위해 넣어야 하는 것이다.
하지만 릴리즈 모드에서 assert() 함수는 동작 하지 않는다.
한마디로 디버그 전용 조건문 검사 함수인것이다.
아주 강력하지만 디버그를 하다가 잘못된값이 들어간다면 프로그램은
여지 없이 죽어나갈테니 적절하게 사용하기 바란다.
'프로그래밍 > C/C++/API' 카테고리의 다른 글
[C/C++/API] MFC가 아닌 소스에서 CString Class 사용 하기 (0) | 2010.05.27 |
---|---|
[C/C++/API] new, delete 연산자와 포인터를 이용한 고차원 배열 동적 할당 (9) | 2010.01.28 |
[C/C++/API] C++ Programming Style Guide-line (0) | 2009.12.15 |
[C/C++/API] #pragma - once, pack, warning, comment, link (0) | 2009.11.28 |
[C/C++/API] Visual Studio 2008 C++ 단축키 (0) | 2009.11.28 |