如何用对保留二维向量

How to reserve 2dimention vector with pair

我想直接访问二维向量索引

但是不知道怎么预定

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;

矢量超出范围

如评论中所述,reserve 仅更改向量的容量而不更改大小。它可以提高大型 vectors 的性能,因为许多 push_backs 可能导致 vector 中的内部 resize 操作具有多个分配和释放,这可能需要时间。

在您的示例中,只需在 c_list[0].first = population; 之前调用 c_list.resize(1); 就可以了。 resize 真的立马变大了