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