如何打印对的第二部分? EX:pair <int,pair <int,int =“”>&gt;

时间:2015-12-05 04:52:04

标签: c++ stl keyvaluepair

我已经坚持了一段时间,我试图将一些数据配对在一起。这是我的代码。

#include<iostream>
#include<utility>

using namespace std;

int main()
{

   pair<int, int> data(31,8);
   pair<int, pair<int,int> > newData(4,data);

   cout << newData.second<< endl;

   return 0;. 
} 

但是我遇到了很多错误,我只需要有人指出我正确的方向。如果输入:

cout << newData.first << endl;

工作正常,任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:2)

data是一对,因此您可以像访问newdata.second.first一样访问其成员。 newdata.second.second--- server_admins: admin1: comment="Dark Helmet" uid=10000 state=present admin2: comment="Princess Vespa" uid=10001 state=present developers: dev1: comment="Prince Valium" uid=2000 state=present

答案 1 :(得分:1)

您应该考虑std::tuple,因为最后,您需要使用更多的部分来加入数据。

但只要您坚持使用当前表单,就应该使用newData.first作为第一部分,newData.second.first作为第二部分的第一部分,newData.second.second作为第二部分第二部分的一部分。

再次考虑std::tuple