读书人

怎么在编译时确定这件事

发布时间: 2013-08-13 16:43:28 作者: rapoo

如何在编译时确定这件事?
我想在编译时确定int64_t的确是64位,否则就死出去。如何做到这点?好像可以用模板?
[解决办法]
C++11有static_assert。编译期的。
[解决办法]


static_assert(sizeof(int64_) == 8, "int64_ should equal to 64bits\n");



[解决办法]
引用:
我想在编译时确定int64_t的确是64位,否则就死出去。如何做到这点?好像可以用模板?

static_assert(8 == sizeof(int64_t)) ?
[解决办法]
static_assert 就是干这事儿的。编译器不支持的话,可以用类似的模板技术,根据 int64_t 的大小生成编译错误。

读书人网 >C++

热点推荐