您的位置:首页 > 其它

string的size、length、capacity

2017-01-18 10:25 344 查看
string.length():

返回字符串的长度(以字节为单位)。是符合字符串内容的实际字节数,不一定等于其容量。

string.size()和string.length()是同义词,并返回完全相同的值。

string.max_size():

返回字符串的最大大小,返回字符串可以达到的最大长度。

string.resize():

string.resize(n):把字符串的长度设置为n个字符

如果n小于当前字符串长度 ,则只截取前n个字符,删除超出第n个字符的字符。

如果大于,则在末端插入尽可能多的字符来扩展当前内容,以达到大小n。 如果指定c,则新元素将初始化为c的副本,否则为值初始化字符(空字符)。

string.capacity():

返回已分配存储的大小。当前为字符串分配的存储空间的大小,以字节表示。

此容量不一定等于字符串长度。 它可以相等或更大,额外的空间允许对象在将新字符添加到字符串时优化其操作。

#include <iostream>
#include <string>
using namespace std;

void DisplayString(const string &str)
{
cout << "string: " << str << endl;
cout << "size: " << str.size() << endl;
cout << "capacity: " << str.capacity() << endl;
cout << "maxsize: " << str.max_size() << endl;
cout<<endl;
}

int main()
{
cout << "s1是未初始化的字符:" << endl;
string s1;
DisplayString(s1);

string s2 = "abcdefg";
DisplayString(s2);
cout << "对s2进行resize()后:" << endl;
s2.resize(3);
DisplayString(s2);
}


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  string