Boost源码学习三[实用工具](2)
来源:互联网 发布:linux服务器监听端口 编辑:程序博客网 时间:2024/06/05 02:14
第二个学习的是ignore_unused,
template <typename... Ts>inline void ignore_unused(Ts const& ...){}
ignore_unused使用可变参数模板,可以支持任意数量,任意类型的变量,把它们作为函数的参数‘使用’了一下,骗过了编译器,达到了与(void)var相同的效果。
#include<boost\core\ignore_unused.hpp>using namespace boost;int func(int x,int y){int i;ignore_unused(i, x);return y;}int main(){intfunc();}
如果不加ignore_unused,编译器会报出警告信息。
下面的函数内部定义了一个typedef,然后用ignore_unused忽略:
void func2(){typedef intresult_type;ignore_unused<result_type>();}
0 0
- Boost源码学习三[实用工具](2)
- Boost源码学习三[实用工具](1)
- Boost源码学习三[实用工具](3)
- Boost源码学习三[实用工具](4)
- Boost实用工具
- boost 实用工具
- Boost源码学习十一[并发编程](2)
- Boost库学习笔记-----------实用工具之禁止复制 noncopyable
- Boost组件实用工具
- (三)boost::lambda源码分析
- Boost学习 (三) Weak_ptr instrsive_ptr
- boost 库实用工具之optional
- boost库实用工具之assign
- boost实用工具之tribool库
- boost库实用工具之exception
- Boost源码学习---scoped_ptr.hpp
- Boost源码学习---scoped_array.hpp
- Boost源码学习---shared_ptr.hpp
- 整合大量开源库温习基础项目(二)顺便再提提单例模式
- #pragma pack(1) 的用法 强制单字节对齐
- GenyMotion 一直停在开机画面
- [Cloud Networking Notes] Management and sharing of network infrastructure in cloud data centers
- PAT-甲级1002
- Boost源码学习三[实用工具](2)
- ListView中的滚动事件及自动翻页功能
- 1055. The World's Richest (25)
- iOS 用NSAttributedString处理文字大小不一致情况
- redis conf配置文件详解
- 【Hours】使用indexedDB中遇到的问题。
- 初步体验libsvm用法3(matlab实例)
- 关于垂直切分Vertical Sharding的粒度
- iOS 控制器View的生命周期及相关函数