如何保留2dimention向量对

时间:2019-06-01 08:55:28

标签: c++ vector std

我想直接访问二维矢量索引。

但我不知道如何预订

vector<pair<<vector<int>, int>>..   

我该怎么办?

           vector<pair<vector<int>, int>> c_list;

           vector<int> population;

           population.push_back(1);
           population.push_back(2);
           population.push_back(3);

           c_list[0].first = population;

向量超出范围

1 个答案:

答案 0 :(得分:1)

如注释中所述,reserve仅更改矢量的容量,而不更改大小。它可以提高大型vector的性能,因为许多push_back可能导致resize中的内部vector操作具有多个分配和重新分配,这可能需要一些时间。

在您的示例中,只需在c_list.resize(1);之前调用c_list[0].first = population;,就可以了。 resize确实会立即更改大小。