对于 c++ STL,我们可以使用“push_back”插入新值,如果我们从不 pop_back,是否有 push_back 时间限制?
换句话说,向量的最大尺寸是多少?
因为在声明向量时,我们不需要指定向量的大小,所以我不确定向量的最大大小。
谢谢。
我只是打印出 v.max_size(),在 xcode 中是 9223372036854775807,我认为这是大小限制。
对于 c++ STL,我们可以使用“push_back”插入新值,如果我们从不 pop_back,是否有 push_back 时间限制?
换句话说,向量的最大尺寸是多少?
因为在声明向量时,我们不需要指定向量的大小,所以我不确定向量的最大大小。
谢谢。
我只是打印出 v.max_size(),在 xcode 中是 9223372036854775807,我认为这是大小限制。
std::vector::max_size()
vector
返回可以容纳的最大元素数。但是,不能保证向量能够增长到该大小。引用http://www.cplusplus.com/reference/vector/vector/max_size/:
由于已知的系统或库实现限制,这是容器可以达到的最大潜在大小,但绝不保证容器能够达到该大小:在达到该大小之前的任何时候,它仍然可能无法分配存储