tuple的使用
这个真的很实用,况且还那么的简单,每个c++爱好者都应该知道
tuple<string, int, int> GetJacks()
{
return make_tuple("jack", 10, 23);
}
void main()
{
//1.调用默认构造函数初始化
tuple<string, int> m_people;
//2.使用有参数构造函数初始化
tuple<string, int> m_people1("Ty",25);
//3.使用初始化列表
tuple<string, int> m_people2{ "Ty", 26 };
//4.使用make_tuple
tuple<string, int> m_people3 = make_tuple("Ty", 27);
//或者
auto m_people4 = make_tuple("Ty", 28);
//接下来是访问
cout << get<0>(m_people1) << " "<<get<1>(m_people1)<<endl;
//接下来是修改:
get<1>(m_people1) = 22;
cout << "修改之后:\n";
cout << get<0>(m_people1) << " " << get<1>(m_people1) << endl;
//取得成员的数量和类型
//如果tuple数据的生成者和使用者不在一个模块中,可能就需要对数据进行某种检查,
//这时就很可能希望知道成员的数量或者类型。直接上代码。
auto p = GetJacks();
//1.获取元组的元素数量
int nsize = tuple_size<decltype(p)>::value;
//2.typeid获取类型
cout<<typeid(get<0>(p)).name();
system("pause");
}
结果: