您的位置:首页 > 其它

2. std::string 的 size() length() capacity()

2011-09-15 18:32 330 查看
测试发现

1. std::string value(2, ‘a’);

结果: value.size() == value.length()==2; value.capacity()==31

std::string value(31, ‘a’);

结果: value.size() == value.length()==value.capacity()==31;

2. std::string value(32, ‘a’);

结果: value.size() == value.length()==32; value.capacity()==63;

std::string value(63, ‘a’);

结果: value.size() == value.length()==value.capacity()==63;

3. std::string value(80, ‘a’);

结果: value.size()==value.length()==80; value.capacity()==95;

std::string value(95, ‘a’);

结果: value.size()==value.length()==value.capactiy()==95;

举这3个例子不难发现

a) . size() 和 length() 效果一样,不过C++的话,倾向于用 size();

b) . string的容量,也就是capactiy(),如果 value值为空,则capactiy()==0;

否则,capacity() 初始值为32,根据string 存储的量的变化而变化

初始值=32,步长=32;
本文出自 “8023” 博客,请务必保留此出处http://vfisher.blog.51cto.com/3300129/665670
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: