C++中String常见函数

1.size和capacity函数

        其实String就是字符串,也类似于字符数组,size()函数表示实际存储元素个数,capacity()表示这个字符串开辟的空间,一般来说,size()用的比较多(类似于strlen函数,遇到'\0'停止读取并计数)

2.reserve函数

        reserve负责开辟空间,以字节为单位,开辟 指定大小 n 空间,系统会按照自带扩容机制进行扩容,如1.5倍或者2倍扩容,根据编译器差异,如下:

        但值得注意的是,当 n 小于 capacity 时,reserve语句不会被执行。如下:

所以reserve()函数只负责扩容不负责缩容。

3.resize函数

        resize 改变 string 长度, 若 n > size ,则填充 空字符,使得 size() 变成指定大小,当然也可以传入参数 char c ,使得默认填充字符 c 来代替空字符。当然 resize 还可以进行缩小size操作。

      

(1) resize < size ,进行 删除 操作,例如:

(2)当 size < n < capacity , 进行 插入 操作,在s后添加指定字符,将 size 改变

(3) n > capacity  进行 扩容+插入 操作,系统会自动扩容然后填充字符,如下:

4.push_back函数和 append函数

        push_back函数:在字符串后追加 字符 c ,类似于尾插操作。

        append函数: 在字符串后追加 字符串

        这两个函数用的少之又少,所以对这两个函数不进行多的论述,因为还有一个更加全能也更加好用的操作,请见下文。

5.+=操作

        +=操作是系统自带的运算符操作,它可以完美代替 push_back 函数 和 append 函数进行插入操作,而且能够覆盖范围比较大,操作简单,请见下图:

无论是string类型、char类型、char*类型,+=操作符一网打尽!!!

6. assign 、 insert 、 erase 、replace 函数

        assign函数: 在 s 上进行覆盖操作, 将原有string 内容全部删除,再用 char* 类型进行覆盖

        insert函数: 在指定位置插入字符或者是字符串

        erase函数: 从指定位置,可进行指定长度的删除操作

        replace函数: 可以指定位置,指定长度,指定修改内容进行修改。

        这一类函数涉及到空间的挪动,而且效率很低,不建议使用。这里只是简单提一句。

      

7.find函数

        通常用于在字符串或数组中查找特定元素或子字符串,并返回其位置或索引就是下标,如果没有找到匹配的字符,则返回 std::string::npos。
 

8.substr 函数

        通常用于从字符串中提取子字符串。如果不提供count参数,则采用缺省参数默认返回从pos开始到字符串末尾的所有字符。

        okok博客结束,本来还有的,不想写了,累死了,下篇博客见!!!!!!!!!!

  • 22
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值