我知道向量的大小,这是初始化它的最佳方法吗?
选项1:
vector<int> vec(3); //in .h
vec.at(0)=var1; //in .cpp
vec.at(1)=var2; //in .cpp
vec.at(2)=var3; //in .cpp
选项 2:
vector<int> vec; //in .h
vec.reserve(3); //in .cpp
vec.push_back(var1); //in .cpp
vec.push_back(var2); //in .cpp
vec.push_back(var3); //in .cpp
我猜,Option2 比 Option1 好。是吗?还有其他选择吗?
原文由 Ale 发布,翻译遵循 CC BY-SA 4.0 许可协议
两种变体都有不同的语义,即您正在比较苹果和橙子。
第一个为您提供 n 个默认初始化值的向量,第二个变体保留内存,但不初始化它们。
选择更适合您需要的,即在特定情况下什么是“更好的”。