【C++】---了解string类

string类和C语言的字符串区别

C语言中,字符串是以’\0’结尾的一些字符的集合,为了操作方便,C标准库中提供了一些str系列的库函数,但是这些库函数与字符串是分离开的,不太符合OOP的思想,而且底层空间需要用户自己管理,稍不留神可能还会越界访问。

string类是C++中表示字符串的字符串类,该类的接口与常规容器的接口基本相同,再添加了一些专门用来操作string的常规操作。通过调用接口来操作string的常规操作。string在底层实际是:basic_string模板类的别名,不能操作多字节或者变长字符的序列。

typedef basic_string<char, char_traits, allocator> string;

因此使用string类比使用字符集合的字符串更方便,底层编译器都已经帮我们实现好了,直接调用即可

string类的常用接口

string类对象的常见构造方法

image-20221104164105328

跟一些常见的类一样,可以拷贝构造,无参构造,传值传参构造。

image-20221104164633191

可以看到以上的构造都是可以成功地创造出string类的对象,我们只需要记住常见的即可,不常见的如果有需求再查文档。

string类对象的容量操作

*size和length

这两个没啥区别,都是返回字符串有效字符长度,不过按照使用C++的使用我个人更喜欢使用size。

image-20221104165051807

image-20221104165110987

看看运行的结果

image-20221104165210218

capacity

看到字面意思就知道是返回空间容量总大小,需要注意的是空间大小不一定等于有效字符长度

image-20221104165512939

image-20221104165713870

*empty

这个就是检测字符串释放为空串,是返回true,否则返回false,还是比较属于比较常见的

image-20221104165957866

*clear

清空有效字符,什么意思呢。假设先有一个对象s1,它里面存的是“hello world”,那这时我调用clear接口就可以将里面的“hello world”清空,再次打印就看不到了。

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值