【发布时间】:2012-02-14 06:13:18
【问题描述】:
我知道向量的大小,初始化它的最好方法是什么?
选项 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 好。是吗?还有其他选择吗?
【问题讨论】:
-
定义“更好”。
-
vector<int> vec(3);你不应该在头文件中初始化变量。 -
@Ale 两种方法,reserve 和 initialise,都同样专业。
-
@SigTerm:是的,我明白了。难道只是为了避免小错误
-
5 年后,我希望这个问题有一个真正的答案......接受的答案是错误的(除非在给出答案后对问题进行了编辑)。