string类的常见接口说明【注意是常见重要接口,想了解全部可以搜索网站:cplusplus】
2.1string类对象的常见构造

(constructor) 函数名称

功能说明

string() (重点)

构造空的string类对象,即空字符串

string(const char* s) (重点)

用C-string来构造string类对象

string(size_t n, char c)

string类对象中包含n个字符c

string(const string&s) (重点)

拷贝构造函数

2.2stinrg类对象的容量操作

函数名称

功能说明

size(重点)

返回字符串有效字符长度

length

返回字符串有效字符长度

capacity

返回空间总大小

empty (重点)

检测字符串释放为空串,是返回true,否则返回false

clear(重点)

清空有效字符

reserve(重点)

为字符串预留空间**

resize(重点)

将有效字符的个数该成n个,多出的空间用字符c填充

1. size()与length()方法底层实现原理完全相同,引入size()的原因是为了与其他容器的接

口保持一致,一般情况下基本都是用size(),length()只适用于字符串底层是数组的对象。

2. clear()只是将string中有效字符清空,不改变底层空间大小。

3. resize(size_t n) 与 resize(size_t n, char c)都是将字符串中有效字符个数改变到n个,不

同的是当字符个数增多时:resize(n)用0来填充多出的元素空间,resize(size_t n, char

c)用字符c来填充多出的元素空间。注意:resize在改变元素个数时,如果是将元素个数

增多,可能会改变底层容量的大小,如果是将元素个数减少,底层空间总大小不变。

4. reserve(size_t res_arg=0):为string预留空间,不改变有效元素个数,当reserve的参数小于string的底层空间总大小时,reserver不一定(不同编译器可能不同在计算机中把不确定当作不能,所以该函数一般只用于扩容)会改变容量大小。



 

更多推荐