我正在为我的vector
成员变量预分配一些内存。以下代码是最小的部分:
class A {
vector<string> t_Names;
public:
A () : t_Names(1000) {}
};
如果在某个时间点,t_Names.size()
等于1000
,我想将其大小增加100
。当它到达1100
时,再次增加100
,以此类推。
我的问题是,在这种情况下应该选择vector::resize()
还是vector::reserve()
?是否存在更好的选择?
编辑:我对t_Names
有一个相当精确的估计。我估计它大约为700
到800
。然而,在某些(很少见的)情况下,它可能会增长超过1000
。
std::vector
的性能优势之一。 - Blastfurnace