点击(此处)折叠或打开
-
// 编译:g++ -std=c++11 -g -o x x.cpp
-
#include tuple> // tuple头文件
-
#include stdio.h>
-
#include string>
-
using namespace std;
-
-
// 函数foo返回tuple类型
-
tupleint, string> foo();
-
-
int main()
-
{
-
// 两个不同类型的返回值a和b
-
int a;
-
string b;
-
-
// 注意tie的应用
-
tie(a, b) = foo();
-
printf("%d => %s\n", a, b.c_str());
-
-
// 注意tuple是一个可以容纳不同类型元素的容器
-
// ,在C++11中,下面的x一般使用auto定义,这样简洁些。
-
tupleint, string, char, float> x = make_tuple(2014, "tupule", 'x', 5.30);
-
printf("%d, %s, %c, %.2f\n", get0>(x), get1>(x).c_str(), get2>(x), get3>(x));
-
-
return 0;
-
}
-
-
tupleint, string> foo()
-
{
-
// 用make_tuple来构造一个tuple
-
return make_tuple(2014, "tuple");
- }
从上述的代码,可以看出tuple是对pair的泛化。