C++,2D std :: vector,我是否需要明确保留并推回空向量?

Jam*_*Sin 2 c++ heap vector

当我制作2D矢量时. std::vector<std::vector<Pokemon>> pokemons;

我可以马上运行吗: Pokemon pikachu = ... pokemons[23].push_back(Pikachu);

或者我需要: pokemons.reserve(100); for (int i =0;i<100;i++) pokemons.push_back(vector<Pokemon>());

谢谢

Bo *_*son 5

您可以在构造期间设置外部矢量的初始大小

std::vector<std::vector<Pokemon>> pokemons(100);
Run Code Online (Sandbox Code Playgroud)

它将构建100个内部空向量.