编译时断言
来源:互联网 发布:新型网络诈骗手段新闻 编辑:程序博客网 时间:2024/05/16 01:27
运行时断言大家都用过,但如果想当某个条件不满足时在编译时就让程序编译不通过,即编译时断言(不能产生副作用)是什么样子的呢。可参考如下:
1, 参考linux内核静态断言
/* Force a compilation error if condition is true */
#ifdef WIN32
#define BUILD_BUG_ON(e) {typedef char __static_assert_t[!(e)];}
#else
#define BUILD_BUG_ON(e) ((void)sizeof(char[1 - 2*!!(e)]))
#endif
2, boost库也提供了静态断言,C++代码可直接使用
#include <boost/static_assert.hpp>
BOOST_STATIC_ASSERT(sizeof(DiskChunkInfo_t) == 4400);
1 1
- 编译时断言
- 编译时断言
- 说说编译时断言(静态断言)
- C++ 编译时断言检查
- C++ Template之编译时断言
- 编译期断言测试
- 运行期断言和编译期断言
- 很酷的C语言技巧--【编译时断言】
- Linux Kernel 代码艺术——编译时断言
- 用编译时断言在早期发现错误
- 读loki有感 : 编译事(而不是运行时)的断言(assert)
- 无警告C语言编译断言
- static_assert 是在编译时期的断言
- 运行时测试断言
- 断言
- 断言
- 断言
- 断言
- 关于typedef的用法
- HDU1086 You can Solve a Geometry Problem too
- HDU2709
- js编写日历
- SVM入门(五)线性分类器的求解——问题的描述Part2
- 编译时断言
- hrbust 1328 相等的最小公倍数(数论)
- POJ 2954 Triangle(Pick定理)
- SVM入门(六)线性分类器的求解——问题的转化,直观角度
- Android 自定义View (四) 视频音量调控
- hadoop学习--K-Means算法实现
- Farm Tour-最小费用最大流/SPFA
- 新的SharedPreference 操作类, 简化了使用的参数
- spinner