如何访问vector <pair <int,pair <int,=“”int =“”>&gt;&gt; d [20]?

时间:2018-03-14 17:38:56

标签: c++ vector

保存这样的信息是否正确?

D[1].push_back(make_pair(x,make_pair(y,0));

我在该对的第二个位置需要0。

如何访问这些值,例如:

int a,b;

我需要a获取x的值,b y的值,并且上升1,最后一个值(第二对中的0值)

这是正确的吗?

a=D[1].first; 
b=D[1].second.first;
D[1].second.second++;

1 个答案:

答案 0 :(得分:0)

嗯,你正在宣布一个由20个向量组成的数组。所以正确的方法是

D[1].push_back(make_pair(0,make_pair(1,2));
int a = D[1][0].first;
pair<int,int> b = D[1][0].second;
b.second++; // You now have a pair containing increased value. Original remains unchanged.
int z = D[1][0].second.second; // contains the nested pair's second value

如果你想增加第二个 - 那就直接做。

D[1][0].second.second++; // originally changed.

如果你想得到位于最后位置的对,你可以得到向量的大小并验证然后得到最后插入的元素。