c++笔记——tuple
在c++ 11标准库中,加入了std::tie,在c++ 14中改进,方便使用。 其与tuple关系密切, 主要目的是方便地使用tuple
std::tie
一般std::tie有2个作用:
- 创建一个std::tuple;
- 解包标准库中的一些集合类,简化访问方法。
元组 std::tuple
元组tuple,有人认为是std::pair扩展。pair只能把2个数据打包,而tuple可以打包更多的数据。tuple的数据类型也可以是不相同的。“快速而随意的”数据结构。
void initTuple(){ //默认初始化3个成员为0 tuple<size_t, size_t, size_t> threeD; //直接初始化 tuple<string, vector<double>, int, list<int> > someVal("constants", {3.12, 2.7}, 42, {0, 1, 3, 4}); //赋值初始化 tuple<size_t, size_t, size_t> threeD1 = {1, 2, 3}; //make_tuple auto item = make_tuple("0-999-78345-x", 3, 20.00); //访问tuple的成员 auto book = get<0>(item); auto cnt = get<1>(item); auto price = get<2>(item); cout << "book : " << book << endl; cout << "cnt : " << cnt << endl; cout << "price : " << price << endl; }
作者:水水滴答
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。