C++—string类常见构造和对容量操作的函数

1、string类对象的常见的构造函数

函数名称功能说明
string()构造空的string类对象
string(const char * s)用C-string来构造string类对象
string(size_t n, char c)string类对象中包含n个字符c
string(const string&s)拷贝构造函数
string(const string&s, size_t n)用s中的前n个字符构造新的string类对象

2、string类对象的容量操作

函数名称功能说明
size_t size() const返回字符串有效字符长度
size_t length() const返回字符串有效字符长度
size_t capacity( ) const返回空间总大小
bool empty() const检测字符串释放为空串,是为true,否则为false
void clear()清空有效字符
void resize(size_t n, char c)将有效字符的个数改成n个,多余的空间用字符c填充
void resize(size_t n)将有效字符的个数改成n个,多出的空间用0填充
void reserve(size_t res_arg=0)为字符串预留空间

注意:
1.在字符串中size大小和length长度没有区别
2.字符串在VS环境中默认capacity容量是15,每次扩容16,总容量为16的倍数-1,最后的位置是’\0’。(字符串相当于字符的顺序表)
3.empty();//判空,为空返回1,非空返回0
4.clear();//清空,不改变capacity的大小
5.reserve//扩充预留空间

string s1;
s1.reserve(500);
cout << s1.capacity() << endl;//输出为511,500之后第一个16的倍数-1

6.resize:直接改变size的值,空间大小重置。如果resize的值超过了capacity的值,会先调用reserve分配空间
7.reserve,resize,clear,不会导致空间缩小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值