Compile Time에 주어진 조건을 비교하여 true면 통과하고, false 일 경우 오류를 발생한다.
문법은 다음과 같다.
static_assert(expression, message);
아래와 같이 간단한 문장으로 x64를 지원하는지 판단하여 오류 처리가 가능하다.
static_assert(sizeof(void *) ==
4, "64-bit code generation is not supported.");
만약 예전 버전 지원때문에 class를 지울수는 없지만, 다른 사람에게 사용하지 못하게 할 경우 아래 code와 같이 class 내부에 선언을 해두면 해당 class 사용시 compile 할때 오류를 발생시킨다.
class Widget
{
public:
Widget() {};
~Widget() {};
static_assert(false, "Don't use class Widget.
deprecated. Use WidgetEx instead.");
// ...
};
|
참고 : http://msdn.microsoft.com/en-us/library/Dd293588(v=vs.100).aspx
C++ 핵심 노트 - 이주한 (한빛미디어)
댓글 없음:
댓글 쓰기