是否有向量的推迟时间限制

时间:2013-10-19 18:30:11

标签: c++ vector stl allocation push-back

对于c ++ STL,我们可以使用“push_back”插入新值,如果我们从不pop_back,是否有push_back时间限制?

换句话说,矢量的最大大小是多少?

因为当声明向量时,我们不需要指定向量的大小,所以我不确定向量的最大大小。

感谢。

我只是打印出v.max_size(),在xcode中是9223372036854775807,我认为这是大小限制。

1 个答案:

答案 0 :(得分:4)

std::vector::max_size()返回vector可以容纳的最大元素数。但是,无法保证向量能够增长到该大小。引用http://www.cplusplus.com/reference/vector/vector/max_size/

  

由于已知的系统或库实现限制,这是容器可以达到的最大可能大小,但容器无法保证能够达到该大小:在此之前的任何时候它仍然无法分配存储达到规模