admin管理员组

文章数量:1611972

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);
}

本文标签: sizeStringCapacitylength