假使,假设
vector<vector<shared_ptr<Base>>> vec
vec.reserve(100)
vec[0].reserve(20) // Error : vector subscript out of range
Run Code Online (Sandbox Code Playgroud)
我试图为外部向量和内部向量保留内存。我知道它vec是空的,所以我无法为内部向量保留内存。我只能resize()或shrink_to_fit()之后。然而,使用resize()orshrink_to_fit()是没有用的,因为这不是我想要做的。
为内部向量保留内存的目的是尝试很好地分配内存,以便以后更快地搜索内部元素。我只是想知道如果我不保留内存,预先分配的内存既昂贵又混乱。
我想问一下 :
抱歉我的英语不好,我正在使用 VC++ 2010。
您无法为内部向量和外部向量保留内存...如果您仅在外部向量中保留空间,则内部向量不会被构造。您可以调整外部向量的大小,然后为其每个元素进行保留,或者您可以在添加内部向量时对其进行保留。
| 归档时间: |
|
| 查看次数: |
3375 次 |
| 最近记录: |