디버깅 모드에서 개발자가 오류가 생기면 치명적일 것이라고 생각하는 곳에 심어 놓는 에러 검출용 코드이다.
e.g.) int price
가 음수가 나오면 안되는 상황
#include <iostream>
#include <cassert>
int main()
{
int price;
std::cin >> price;
// 0보다 작은 price가 들어오면 assert error 발생
assert(price >= 0);
std::cout << price << std::endl;
return 0;
}
위 코드를 컴파일 후 실행하면 아래와 같이 Assertion failed라는 문구가 뜨면서 에러가 발생하게 된다.
C언어 헤더파일 : assert.h
C++ 헤더파일 : cassert
함수 원형 : void assert(int expression)
└ expression이 0이 되면 assert error가 발생하게 된다.
└ C++ 스타일로, expression이 false
가 되면 assert error가 발생한다.
assert( )에서 ( )안의 내용이 true
가 되면 통과, false
가 되면 assert error가 발생한다.
출처
[C언어/C++] assert 함수에 대해서 : 디버깅을위한, 더 안전한 코드를 위한 오류 검출 방법, https://blockdmask.tistory.com/286, (2018. 10. 24.)