본문 바로가기

assert2

[C++] static_assert 매크로에 대해 알아보자. C++ 11에서 등장한 static_assert 키워드에 대해 알아보자. 기존 assert의 기능 자체에 대해선 간단한 소개만 할 것이니, assert에 대한 더 자세한 내용을 원하면 다음 포스팅을 참고하자. https://woo-dev.tistory.com/52 [assert 기능 및 목적] assert는 프로그램 개발 시 사용자의 실수를 개선해주기 위한 매크로로서, 어떤 조건을 인자로 받아 해당 조건이 거짓일 경우 프로그램을 중단시킨다. 이는 보통 프로그램 로직 상 일어나서는 안되는 조건을 인자로 넣어주어 프로그램 실행 시 assertion이 발생하면 그 조건을 찾아 디버깅 하는 것이다. assert는 프로그램 성능에 영향을 미치지 않으므로 많이 사용해도 상관없다. void main() { int n.. 2020. 2. 28.
[C++] assert 매크로를 사용하자 / assert에 message 넣는 법 프로그램을 개발하는 도중 발생하면 안되는 오류 또는 예외를 처리하기 위해 throw나 if문 등으로 예외를 처리를 한다. 하지만 C++ 에선 디버깅 중 예외 또는 오류를 더 쉽게 찾도록 assert라는 매크로를 제공한다. assert는 예외 처리라기보다는 프로그램 개발 도중 발생해선 안되는 조건을 잡아 그 것을 고칠 수 있도록 해주는 일종의 트랩이라고 생각하면 된다. assert는 조건 식(condition)을 인자로 받아 해당 조건식이 거짓(false, 0, '\0', NULL, nullptr)이면 프로그램을 중단시킨다. 그리고 assert에 사용된 조건식과 몇 라인에서 발생하였는지 출력한다. 따라서 개발자는 오류가 어디서 발생했는지 정확한 위치와 이유를 알 수 있다. assert는 런타임에 검사를 진.. 2019. 12. 15.