当前位置:编程学习 > C/C++ >>

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

测试发现
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”

补充:软件开发 , C语言 ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,