Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19479
  • 博文数量: 4
  • 博客积分: 105
  • 博客等级: 民兵
  • 技术积分: 40
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-09 21:15
文章分类

全部博文(4)

文章存档

2013年(1)

2012年(3)

我的朋友
最近访客

发布时间:2012-12-17 11:22:16

boost::any的设计理念是做成一个通用类型存储器。基于这个理念,上层应用就不需要关心容器里面所存储的数据类型是什么了。这里我不打算讲boost::any的应用,具体的应用大家可以google即可。我想讲的是boost::any在设计上的技巧,这跟设计模式相关。boost::any类并不是一个模板类,这可以大大的方便上层应用的使用,它会自动化的类型转换。核心就是any类中,包含一个模板类holder的基类placeholder指针,而placeholder却不是模板类,这样就可以被any类使用了。具体的如下面所示: 点击(此处)折叠或打开class any{public : &......【阅读全文】

阅读(2870) | 评论(0) | 转发(0)

发布时间:2012-12-17 10:36:19

[转]Boost Any与VariantBoost库中提供了三种比较实用的数据结构,分别是tuple、any和variant。它们的共同优点就是支持类型安全地存储和获取数据。灵活地使用这三种数据结构,对我们进行程序设计无疑是大有裨益的。下面分别加以介绍。tuple支持一次直接声明和使用n个不同数据类型的变量。对于有多个返回值的函数,我们再也不用定义一个结构体作为函数的返回值类型了,也不用通过对参数进行引用来传出返回值(这样返回值的概念不太明确),而是可以直接使用tuple。◆ 声明一个tuple类型的对象:tuple<int,double,string> triple(42, 3.......【阅读全文】

阅读(2026) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册