boost静态断言的简单实现
来源:互联网 发布:给网络销售平台供货 编辑:程序博客网 时间:2024/04/30 00:55
boost的静态断言可以实现在编译器就检测错误的类型或语法错误,能降低运行时可能发生的错误情况,充分利用编译器提供的优势。静态断言的核心实现是通过模板的偏特化来只声明不实现,如下是我实现的一个简单的静态断言
template<bool>
struct static_assert;
template<>
struct static_assert<true> {};
这里实现了true模式的类实现,但是没有实现false模式的类实现,所以如果一旦条件是false,声明一个static_assert的变量则肯定会编译失败
定义一个static_assert的变量就完成了条件的判断
static_assert<Cond>();
这里我们来定义一个宏来简化这个工作
#define STATIC_ASSERT(Cond) \
(void)static_assert<Cond>()
所以最后的结果就是
STATIC_ASSERT(0==0);
STATIC_ASSERT(1==0);//编译不过
1 0
- boost静态断言的简单实现
- boost静态断言
- boost静态断言记录
- 巧妙的静态断言
- 断言的简单应用
- 断言的实现方法
- 断言与静态断言
- boost serialization的简单实现及研究
- Boost实现简单的udp代理服务器
- boost bind及function的简单实现
- 静态断言
- 静态断言
- 静态断言
- 简单静态通讯录的实现
- boost多线程简单实现
- boost::lexical_cast简单实现
- c++静态断言的实现方式 编译器遇除数为0报错
- 动态断言与静态断言
- 阻塞队列实现生产者消费者模式
- 笔记19 日期类
- cfg80211的kernel架构(基于Linux 3.08)之sta
- 学习方法-在解决问题中学习
- 杭电ACM 2022
- boost静态断言的简单实现
- windows批处理实现telnet登陆和运行命令--还有问题
- 安卓实例
- 最简单方法三步实现linux系统开机oralce自动启动
- Android MediaPlayer+Stagefright框架(音频)图解
- EF TMD
- v4l2_subdev
- win7安装maven工具
- 从request获取各种路径小结