Posted on 2013-01-24 10:26
魏尚堂 閱讀(671)
評(píng)論(0) 編輯 收藏 引用
thinking in c++ 有下面的例子,不太理解為什么這個(gè)宏中的條件表達(dá)式在編譯時(shí)就執(zhí)行了,在此作個(gè)記號(hào)
// A simple, compile-time assertion facility
#define STATIC_ASSERT(x) \
do { typedef int a[(x) ? 1 : -1]; } while(0)
int main()
{
STATIC_ASSERT(sizeof(int) <= sizeof(long)); // Passes
STATIC_ASSERT(sizeof(double) <= sizeof(int)); // Fails
return 0;
}