10.string(上)

string 接口:

string还需要尾插字符串,所以又设计尾插字符串:append

设计太复杂了,实践中用这两个:

实践当中push back用的也不多,因为他用+=

最后一个底层用pushback 前两个用append

assign也是赋值,也是个冗余接口,把之前的覆盖掉,跟operator 有重叠,很多类型但是用途不大

真正关注的应该是

了解,需要查文档,真正用的多的是,但是头插,实现效率比较低,空间不够还要扩容,还要挪动数据,

非常乱,谨慎使用,不到万不得已不要使用,

大量使用效率不行,要挪动数据,

这些不用细看,需要时候查查文档就行

实践当中用的最多的还是第一个

头删,还是要谨慎,要挪动数据,尾删可以这样删

如果想从某个位置把他全删了,不需要准确计算有多长

一般我们用string只增不删,只尾差,

我可以替换成string,也可以是string一部分,可以使char*也可以是char*一部分,我可以以一块迭代区间标记,了解一下

效率也不高,

以前有个题把所有空格换成%%

find在pos位置查找一个字符串,字符,可以借助find 完成,返回值是size ------t,怎么判断找没找到

npos是他静态成员变量,所以要指定类域。

每次都从头开始找空格,没必要,第二个参数就是从哪个位置开始找,位置换成pos+2.

对效率有要求,这种方式是不可行的,可以用空间换时间

如果真要在原串搞,就算空格,那种方法,就是牺牲了空间

这样提前开好空间,+=没有扩容消耗,效率就更高了,

replace只有一个换一个这种效率高,2个换两个。如果不关注效率就随便,不是所有地方都关注效率

有没有无所谓,我可以用尾删。,,

string 用得比较多的就是+=,其他的查查文档就可以

看一看string 其他操作,

返回底层字符串的,这个东西意义是兼容C,

这要求传const char* C语言没有string嘛,所以都是const char* ,那我是string 怎么传这些接口,直接调用

不关注,string 东西拷贝出来给buffer ,assign和他相反

接下来,看一下find系列

可以正着找一个字符或者一个串,

反着找,find找到然后要取 子串 copy用的很少, 因为copy要copy到一个buffer里面。那个buffer 要自己开,万一不够,不好

我们用

不给第二个参数,有多少取多少

这时候就要倒着找。refind就很合理

查找任意字符,假设把abcd全部替换成*,屏蔽掉, 用 find first of

P 和它其中一个比对一下,相等就返回,不相等就继续比下一个,这的每一个字符都要比对一下,任意一个相等都返回, 此接口用的不多。find last of 倒着找

字符串里怎么写\n再加一个\,我对你转义,你就不是转义字符了,虽然写了两个实际一个,写程序把文件路径分隔开 linux是/分割

相关推荐
薇茗几秒前
【初阶数据结构】 升沉有序的平仄 排序 3
c语言·开发语言·数据结构·算法·排序算法·文件归并排序
字节高级特工2 分钟前
C++11(一) 革新:右值引用与移动语义
java·开发语言·c++·人工智能·后端
叶之香5 分钟前
一次 Kingston U 盘重定向中获取 Device Descriptor 超时问题排查
c++·windows·visual studio
UestcXiye5 分钟前
GoogleTest 使用指南 | 单元覆盖率分析
c++·单元测试·googletest
AI科技星7 分钟前
强哥德巴赫猜想(1+1)终极证明(2026 年5月 21 日)
开发语言·人工智能·算法·计算机视觉·量子计算
王老师青少年编程9 分钟前
csp信奥赛C++高频考点专项训练之前缀和&差分 --【一维前缀和】:“非常男女”计划
c++·前缀和·csp·高频考点·信奥赛·“非常男女”计划
故事和你9112 分钟前
洛谷-【图论2-4】连通性问题2
开发语言·数据结构·c++·算法·动态规划·图论
Brilliantwxx13 分钟前
【C++】 二叉搜索树
开发语言·c++·算法
为何创造硅基生物9 小时前
C语言 结构体内存对齐规则(通俗易懂版)
c语言·开发语言
吃好睡好便好9 小时前
在Matlab中绘制横直方图
开发语言·学习·算法·matlab