保存这样的信息是否正确?
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++;
答案 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.
如果你想得到位于最后位置的对,你可以得到向量的大小并验证然后得到最后插入的元素。