#include <iostream>
#include <string>
#include <boost/array.hpp>
//异构的容器
#include <boost/any.hpp>
#include <vector>
#include <typeinfo>
#include <algorithm>
using namespace std;
using namespace boost; void main()
{
boost::array<string, >mystr = { "","ab","","ef","" };
boost::array<string, >::iterator ib = mystr.begin();
boost::array<string, >::iterator ie = mystr.end();
for (; ib != ie; ib++)
{
cout << *ib << endl;
} //返回数组首地址
string *p = mystr.data();
cout << *p << endl;
mystr[] = "";
mystr.at() = ""; //异构容器
std::vector<boost::any> s_values;
s_values.push_back();
s_values.push_back('A');
s_values.push_back(19.8);
s_values.push_back("");
//cout << boost::any_cast<double>(s_values[2]) << endl; for_each(s_values.begin(),s_values.end(),
[](const boost::any &anydata)
{
//获取类型
const std::type_info &ti = anydata.type();
//根据类型执行相应的操作
if (ti == typeid(int))
{
cout << boost::any_cast<int>(anydata) << endl;
}
else if (ti == typeid(double))
{
cout << boost::any_cast<double>(anydata) << endl;
}
else if (ti == typeid(const char *))
{
cout << boost::any_cast<const char *>(anydata) << endl;
}
else if (ti == typeid(char))
{
cout << boost::any_cast<char>(anydata) << endl;
}
}); cin.get();
}

8.boost_array_any的更多相关文章

随机推荐

  1. 英语发音规则---G字母

    英语发音规则---G字母 一.总结 一句话总结: 1.G发[g]音? bag [bæg] n. 袋:猎获物 go [gəʊ] vi. 走:达到 garden ['gɑːd(ə)n] n. 花园 gla ...

  2. 什么是BOM头(字节顺序标记(ByteOrderMark))

    在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码,现在已经有很多软件识别bom头,但是还有些不能识别bom头,比如PHP就不能识别bom头,这也是用记事本编辑ut ...

  3. Sort和UnSort的小技巧

    Sort和UnSort的小技巧: 记录sortidx,对sortidx再从小到大排序就可以得到用于还原的unsortidx. 对于序列A: sort_idx = np.argsort(A) un_so ...

  4. iris中间件

    最近使用golang写的时候涉及到权限校验,用中间件(使用iris框架内的东西) 自己摸索出一种自己的方式 iris.UseFunc(MiddlewareFunc)使用这个方法,会在所有的请求之前执行 ...

  5. Asp.Net Core部署到Linux服务器

    从2016年7月, .NET Core1.0 正式发布开始,由于时间问题,我没怎么关注过.NET Core,最近刚抽出点时间研究了下,先讲下如何把ASP.NET Core部署到Linux上吧.这里我用 ...

  6. Android Studio 一些注意事项(自用,不定期更新)

    1,Android Studio 版本的选择 写这篇的时候,官方版本已经到了 v3.2.0,而我习惯使用的版本是 v2.3.1,因为这个版本有自带sdk的安装版,比较方便, 同时,v2.3.1 新建项 ...

  7. Apache2.2伪静态配置

    最近由于工作的需要要配置一下Apache的伪静态化,在网上搜了好多都无法完成,所以觉得有必要在这里写一下. 第一步:打开Apache的httpd.conf文件,把LoadModule rewrite_ ...

  8. adb屏幕截屏

    import subprocess #执行结果使用管道输出,对于参数是字符串,需要指定shell=Trueprocess = subprocess.Popen('adb shell screencap ...

  9. 7、A Design of Group Recommendation Mechanism Considering Opportunity Cost and Personal Activity Using Spark Framework---使用Spark框架的基于机会成本以及个人活动群组推荐机制

    来源EDB2018---EDB 一.摘要: 组推荐是将一种项目(例如产品.服务)推荐给由多个成员组成的组的方法. 最小痛苦法(least Misery)是一种具有代表性的群体推荐方法,其能够推荐考虑群 ...

  10. d3基础图形模板笔记

    散点图(scatter plot): http://bl.ocks.org/weiglemc/6185069 雷达图(radar): http://xgfe.github.io/uploads/che ...