【C++初阶】:string类

一string的基本用法

文档里

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

一般使用

在这里插入图片描述

二.迭代器

在这里插入图片描述

1.基本使用

string里重载了一种非常厉害的运算符[ ]

在这里插入图片描述

这个运算符本质上是解引用,是数组用来访问数据的运算符。所以我们可以用这个运算符对每个字符进行操作。补充个小知识:string是一个类,类里有许多的成员函数,这些成员函数下面会讲,这里先用一个size,代表字符串的长度。

访问每个字符

在这里插入图片描述

在这里插入图片描述

迭代器

在这里插入图片描述

在这里插入图片描述

2.语法糖

在这里插入图片描述

在这里插入图片描述

这里的原理是,把s2的每一个字符复制到ch里,auto自动推演ch的类型。因为ch是复制的值,所以下面改变ch并不会改变s2,如果需要改变,我们得用&

在这里插入图片描述

在这里插入图片描述

这里看起来是一个范围for,实际上底层依然是迭代器。

3.反向迭代器

在这里插入图片描述

在这里插入图片描述

4.const迭代器

在这里插入图片描述

这里实际上是一个权限放大的问题,const对象也应当调用const迭代器。

在这里插入图片描述**在这里插入图片描述

补充一下:为什么const修饰,it却能++呢?知识因为const修饰的实际上*it,而不是it。

三.容量

在这里插入图片描述

在这里插入图片描述

我们可以看到它有一个capacity函数,就是容量,如果容量不够它就会自动扩容,不同的编译器扩容的大小是不一样的,在vs2019里每次扩容1.5倍。很明显这样扩容的代价是很大的,很容易就没空间了,所以它又提供了一个reserve函数。

在这里插入图片描述
在这里插入图片描述

上面还有一个resize函数,resize和reserve的区别是:resize是开空间+初始化(默认是\0),reserve是单纯的开空间。

在这里插入图片描述

在这里插入图片描述

四.插入和删除

插入
在这里插入图片描述

在这里插入图片描述

删除

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

谨慎使用insert和erase,插入和删除效率很低,能避免就避免。

五.一个例题:解析协议

find函数
在这里插入图片描述

substr函数
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

六.读取空格

在这里插入图片描述

字符串在使用cin读取时遇到空格就会自动停止,使用这个函数就可以读取空格,并且可以自由控制。

在这里插入图片描述

七.一些其他函数

在这里插入图片描述
字符串转整形
在这里插入图片描述

字符串转double
在这里插入图片描述
其他转字符串

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/m0_73790767/article/details/130819267