摘要:
书中列出三种编译期断言的实现方式,一一列出:CompileTimeAssertion.h//第一个版本使用不能建立空数组的性质#defineSTATIC_CHECK1(expr)\{\charunnamed[(expr)?1:0];\}//第二个版本使用模板的非类形参,使用为定义类是违法的template<bool>structCompileTimeError;//声明一个模板template<>structCompileTimeError<true>{};//仅仅对模板参数为true的特化实现#defineSTATIC_CHECK2(expr)\(Comp 阅读全文