您的位置:首页 > 其它

boost-数据类型之auto、any、tuple、variant

2016-09-21 14:03 330 查看
1、auto

auto是C++11中的关键字,它可以定义任意类型元素,eg:

#include <cstdio>
#include <string>
using std::string;
#include "boost/tuple/tuple.hpp"

boost::tuple<int, double, string> func()
{
int i = 1;
double d = 5.0;
string s("hello");
boost::tuple<int, double, string> tupleCombin(i, d, s);

return tupleCombin;
}

int main()
{
boost::tuple<int, double, string> tupleCombin = func();
int i = tupleCombin.get<0>();
double d = tupleCombin.get<1>();
string s = boost::get<2>(tupleCombin);

return getchar();
}


View Code
4、variant

variant是一种增强的union,C/C++中union只能持有POD(普通数据类型),而不能持有如string、vector等复杂类型,boost的variant则没有这个限制。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: