假使,假设
vector<vector<shared_ptr<Base>>> vec
vec.reserve(100)
vec[0].reserve(20) // Error : vector subscript out of range
我正在尝试为外部向量和内部向量保留内存。我知道它vec
是空的,所以我不能为内部向量保留内存。我只能resize()
或shrink_to_fit()
之后。但是,使用resize()
orshrink_to_fit()
是无用的,因为那不是我想做的。
为内部向量保留内存的目的是尝试很好地分配内存,以便之后更快地搜索内部元素。我只是想知道如果我不保留内存,预先分配的内存既昂贵又混乱。
我想问一下 :
- 有没有办法为内部向量保留内存
- 我的“担心不为向量保留内存的情况下会导致内存分配不当”的概念正确吗?
对不起,我的英语很差,我正在使用 VC++ 2010。