首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

vector容器之capacity(),该怎么处理

2012-04-20 
vector容器之capacity()capacity()返回空间大小是怎么算的?eg:vectorint intvector使用push_back()插入

vector容器之capacity()
capacity()返回空间大小是怎么算的?

eg:vector<int> intvector;
使用push_back()插入11个元素之后,又用insert()插入了五个元素。
然后返回capacity()的值为什么是19?

[解决办法]
capacity 是vector 的容量.

容量的是怎么增长的这是未定义的.不用计算,也不可计算.

但是你可以通过 reserve()方法来手动控制容量.




[解决办法]

探讨

capacity 是vector 的容量.

容量的是怎么增长的这是未定义的.不用计算,也不可计算.

但是你可以通过 reserve()方法来手动控制容量.

[解决办法]
探讨

capacity 是vector 的容量.

容量的是怎么增长的这是未定义的.不用计算,也不可计算.

但是你可以通过 reserve()方法来手动控制容量.

[解决办法]
TO LZ:
好像VC的实现是一次增长原容量的一半,g++是翻倍
[解决办法]
探讨

定义对象之后 容量的大小不定(随机)也应该有一个标准?
int string 等不同对象容量标准不能一样吧?

[解决办法]
如ls各位,正是由实现定义。但是一般说 1.6倍左右的增长是可以的。
vc:若当前容量n,那么如果不够用,则每次增加 n/2.
gcc:若当前容量n,那么如果不够用,则每次增加 n.
[解决办法]
探讨
刚定义完 而且未指定容量大小 默认情况下应该返回多大?
vector<int> intvector;
cout<<intvector.capacity()<<endl;
intvector.push_back(10);
cout<<intvector.capacity()<<endl;
intvector.push_back(17);
cout<<intvector.capacity(……

热点排行