【C++初阶】:string类 缺乏、安全感 2024-03-17 09:59 56阅读 0赞 #### string #### * 一string的基本用法 * 二.迭代器 * * 1.基本使用 * 2.语法糖 * 3.反向迭代器 * 4.const迭代器 * 三.容量 * 四.插入和删除 * 五.一个例题:解析协议 * 六.读取空格 * 七.一些其他函数 ## 一string的基本用法 ## *文档里* ![在这里插入图片描述][73e5f17e15464000b99b3b13f520d497.png] ![在这里插入图片描述][fcaac72824244abcad0da6d604d15f80.png] ![在这里插入图片描述][663d6a304a344a179be0b58b8247d170.png] *一般使用* ![在这里插入图片描述][76626652905847199a045ad757cacd9a.png] ## 二.迭代器 ## ![在这里插入图片描述][df2346e6da274eed9fc0e0c1b6de7436.png] ### 1.基本使用 ### > **string里重载了一种非常厉害的运算符\[ \]** ![在这里插入图片描述][8a18e17ff46b47aba0474c7e8d0f8d8e.png] > **这个运算符本质上是解引用,是数组用来访问数据的运算符。所以我们可以用这个运算符对每个字符进行操作。补充个小知识:string是一个类,类里有许多的成员函数,这些成员函数下面会讲,这里先用一个size,代表字符串的长度。** *访问每个字符* ![在这里插入图片描述][3a2445e39c984bbcaf2a97d3c2518414.png] ![在这里插入图片描述][aab4f5078c1849e799e3d38486a31ca1.png] *迭代器* ![在这里插入图片描述][ad1391efdce543ff8b5516b8be85e814.png] ![在这里插入图片描述][0ea87cfbde07433db549308d3d418565.png] ### 2.语法糖 ### ![在这里插入图片描述][87721b71009143eb8f0c556c5f387cd1.png] ![在这里插入图片描述][187bf8fd6ca148c8acf9d27f764254b2.png] > **这里的原理是,把s2的每一个字符复制到ch里,auto自动推演ch的类型。因为ch是复制的值,所以下面改变ch并不会改变s2,如果需要改变,我们得用&** ![在这里插入图片描述][e74d9086fd2141dea193c531028214a8.png] ![在这里插入图片描述][61b5f56feec348e481bff1c88d59b73c.png] > **这里看起来是一个范围for,实际上底层依然是迭代器。** ### 3.反向迭代器 ### ![在这里插入图片描述][f537a1b7c8ac407e89259b8b80e55d61.png] ![在这里插入图片描述][dc55f0139dbb4e33a9096e6975293136.png] ### 4.const迭代器 ### ![在这里插入图片描述][f877e4d900a747ae84c7eae5b02a5624.png] > **这里实际上是一个权限放大的问题,const对象也应当调用const迭代器。** ![在这里插入图片描述][7537ceafae5e4da6962c8c288915ba43.png]\*\*![在这里插入图片描述][74a5a323c67d4b6c93077dda1f19bb12.png] > **补充一下:为什么const修饰,it却能++呢?知识因为const修饰的实际上\*it,而不是it。** ## 三.容量 ## ![在这里插入图片描述][20d4db1990634144b6a44fb0d64ab77a.png] ![在这里插入图片描述][332d8869d3604891b439456ee4554304.png] > **我们可以看到它有一个capacity函数,就是容量,如果容量不够它就会自动扩容,不同的编译器扩容的大小是不一样的,在vs2019里每次扩容1.5倍。很明显这样扩容的代价是很大的,很容易就没空间了,所以它又提供了一个reserve函数。** ![在这里插入图片描述][36ab2fa7a0c8416289a59edee734c4ba.png] ![在这里插入图片描述][3e717101069240d5a924ab345b596c88.png] > **上面还有一个resize函数,resize和reserve的区别是:resize是开空间+初始化(默认是\\0),reserve是单纯的开空间。** ![在这里插入图片描述][2a5497123d4f4f0d82346d0ea3fe319b.png] ![在这里插入图片描述][22ad4bab97ee4ef58ef4afee3dc12dbb.png] ## 四.插入和删除 ## *插入* ![在这里插入图片描述][c1fa5a4a34eb4d398d044d03bfb33283.png] ![在这里插入图片描述][d6b6efb3f9094368bf6b3945fc381c5c.png] *删除* ![在这里插入图片描述][d03a44fddee14b7e92871f2686d4e208.png] ![在这里插入图片描述][b91493de89bb4255b4d70bed810e4b55.png] ![在这里插入图片描述][3e4e1a596da244ef9842d679fc6b4e85.png] > **谨慎使用insert和erase,插入和删除效率很低,能避免就避免。** ## 五.一个例题:解析协议 ## *find函数* ![在这里插入图片描述][62ebcf761dd849298e5fdef19df2fa80.png] *substr函数* ![在这里插入图片描述][c861446a86964cc4a1aeedd778ac2815.png] ![在这里插入图片描述][eb2e9a1f0c024517a30520d471816aee.png] ![在这里插入图片描述][291c5fe48a1046d7aae9e3899f824937.png] ## 六.读取空格 ## ![在这里插入图片描述][bb2b820acb2945fcbb2d1dbd1c3c51bf.png] > **字符串在使用cin读取时遇到空格就会自动停止,使用这个函数就可以读取空格,并且可以自由控制。** ![在这里插入图片描述][bc8c477c9b534c1b9eb868f810a6c544.png] ## 七.一些其他函数 ## ![在这里插入图片描述][0a921b9eb29d4f2d9b21b0501cf5ae93.png] *字符串转整形* ![在这里插入图片描述][7e095ca4cb49485eb763381abc92d84c.png] *字符串转double* ![在这里插入图片描述][6ca64d44f77b4533ba2876c589f1d27a.png] *其他转字符串* ![在这里插入图片描述][9dc21f7706b645c7a79bb5fefeb7daad.png] [73e5f17e15464000b99b3b13f520d497.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/f03b545714b041d4b82c1917374093f1.png [fcaac72824244abcad0da6d604d15f80.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/aa5d1f3d96b64c02851c3c68a2127bf2.png [663d6a304a344a179be0b58b8247d170.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/cf0cf878b82149a6a8f50e7eb85886a2.png [76626652905847199a045ad757cacd9a.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/870df320a5a9450da3bd08f263a0f18d.png [df2346e6da274eed9fc0e0c1b6de7436.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/b33440781d794fa79170b4ab8d283a5b.png [8a18e17ff46b47aba0474c7e8d0f8d8e.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/2e683b43b9624ca48b613e31e7c3d841.png [3a2445e39c984bbcaf2a97d3c2518414.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/7a1b6207da9b4c1bacd3c79512ff5cd4.png [aab4f5078c1849e799e3d38486a31ca1.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/52548472de9b4bf48f3819ae54a41ba0.png [ad1391efdce543ff8b5516b8be85e814.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/5d84285389294d24b24fc4b8bf5f7ca4.png [0ea87cfbde07433db549308d3d418565.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/2487b1387ae84843903769a80e45b2c5.png [87721b71009143eb8f0c556c5f387cd1.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/326df924956b4ea5a18677989e84f336.png [187bf8fd6ca148c8acf9d27f764254b2.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/4a7f004a1ef34523b5b060a09a2bf8c6.png [e74d9086fd2141dea193c531028214a8.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/e143f693605c48cdac80a0cde5dc31bd.png [61b5f56feec348e481bff1c88d59b73c.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/9930b24c1a27480ebdd8df86195d41df.png [f537a1b7c8ac407e89259b8b80e55d61.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/20e88a1b4efd4f7ca364fe68265d720e.png [dc55f0139dbb4e33a9096e6975293136.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/bd3611016abe4da0b66f3e987052661b.png [f877e4d900a747ae84c7eae5b02a5624.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/f7df7524f8104e3195cedef4bcfd9939.png [7537ceafae5e4da6962c8c288915ba43.png]: https://img-blog.csdnimg.cn/7537ceafae5e4da6962c8c288915ba43.png [74a5a323c67d4b6c93077dda1f19bb12.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/09917ceab50d4b3dacc2053cfc722fb5.png [20d4db1990634144b6a44fb0d64ab77a.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/0f9de02579f5415a902bce638642315e.png [332d8869d3604891b439456ee4554304.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/3b6492a9989e4d4ea812e7e2f2d15152.png [36ab2fa7a0c8416289a59edee734c4ba.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/3ef2462117424b0287374d0ec893dd94.png [3e717101069240d5a924ab345b596c88.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/a7c1257ba2154027963f777e19c6f046.png [2a5497123d4f4f0d82346d0ea3fe319b.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/0a59281e50a242f8ae7a72a86e06845f.png [22ad4bab97ee4ef58ef4afee3dc12dbb.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/82ceb5c63b4347489a2e140b66d654bd.png [c1fa5a4a34eb4d398d044d03bfb33283.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/a2c46a6d4c7b4bba91032474b8218aa6.png [d6b6efb3f9094368bf6b3945fc381c5c.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/1e0314183cae42958e88ce1279ffdc67.png [d03a44fddee14b7e92871f2686d4e208.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/e73e9f15dab140a1982c54ee5e761138.png [b91493de89bb4255b4d70bed810e4b55.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/691bb057013348ca96e70eb9314129b1.png [3e4e1a596da244ef9842d679fc6b4e85.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/c1f78bd72d6146e7a9fd597189d96e11.png [62ebcf761dd849298e5fdef19df2fa80.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/f36f0a988e7e4eaf924e1172f21a3d45.png [c861446a86964cc4a1aeedd778ac2815.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/bd58ad198fe14aa3a3c1dc5f38653e53.png [eb2e9a1f0c024517a30520d471816aee.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/d001e3f6f4db47898ceab22996241686.png [291c5fe48a1046d7aae9e3899f824937.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/165ca3d5debc46d9a8375063a7ab9d50.png [bb2b820acb2945fcbb2d1dbd1c3c51bf.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/820715eb61d04a538f69f5c9b5cf91a9.png [bc8c477c9b534c1b9eb868f810a6c544.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/3ab32726d2854f93a0f981da021a1087.png [0a921b9eb29d4f2d9b21b0501cf5ae93.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/1c730a92d966492ab05298a648a7999a.png [7e095ca4cb49485eb763381abc92d84c.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/f7679acc5b1848c88b1dc1fa7e232b6f.png [6ca64d44f77b4533ba2876c589f1d27a.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/2df0c73efc4e4328a5c3cf2a0ac9d81f.png [9dc21f7706b645c7a79bb5fefeb7daad.png]: https://image.dandelioncloud.cn/pgy_files/images/2024/03/17/537c9cf82c154db3a0ccd1ddf7f43742.png
相关 【C++初阶】STL-string的使用 文章目录 一.string初识 1.STL简介 a.STL的组成 b.STL和string的关系 ╰+哭是因爲堅強的太久メ/ 2024年03月31日 14:23/ 0 赞/ 77 阅读
相关 【C++初阶】:类与对象(中) 类与对象 类的6个默认函数 一.构造函数 1.简单使用 2.构造函数重载 3.默认构造函数 二.析构函数 小咪咪/ 2024年03月23日 16:19/ 0 赞/ 32 阅读
相关 【C++初阶】:类与对象(上) 类与对象 一.面向对象的初步认识 二.初步认识类 三.类的权限 四.类的声明和定义 五.封装 六.类的实例化 七.类的大小 柔情只为你懂/ 2024年03月23日 15:54/ 0 赞/ 50 阅读
相关 【C++初阶】:模板初阶 模板初阶 一.函数模板 1.简单使用 2.模板原理 3.函数模板的实例化 4.模板参数的匹配原则 二.类 短命女/ 2024年03月22日 19:12/ 0 赞/ 109 阅读
相关 【C++初阶】:类与对象(下) 类与对象 一.再谈构造函数 1.初始化列表(构造函数的一部分) 2.explicit关键字 二.static成员 三.友元 爱被打了一巴掌/ 2024年03月22日 14:37/ 0 赞/ 63 阅读
相关 【C++初阶】:string类 string 一string的基本用法 二.迭代器 1.基本使用 2.语法糖 3.反向迭代器 4.con 缺乏、安全感/ 2024年03月17日 09:59/ 0 赞/ 57 阅读
相关 【C++ 初阶】类和对象 目录 一、面向过程vs面向对象 二、类的限定符及封装 三、类的实例化 四、this指针 五、默认成员函数 1. 构造函数 梦里梦外;/ 2022年09月16日 11:18/ 0 赞/ 204 阅读
还没有评论,来说两句吧...