文章目录
前言
string介绍主要来自网站cplusplus.com我尽量将自己的想法和网站文档给的相结合,增加思考以方便我们的记忆
也可以去C++的官网上查看最新的文档记录cppreference.com
此篇博客就是要以string为例子讲述第一个网站的使用。
string
string是一个用于表示字符串的类,里面有大量已经封装好的成员,函数等.不过也常有大佬表示string类里塞了太多东西显得十分臃肿不堪.但是作为C++的一个库类他依旧是十分优秀的一个功能,本篇文章就是将string里常用的函数接口向大家介绍一番.(更况且大部分的题目都有他的身影)
string这个类被放在<string>
这个库中,在使用的时候#include<string>
一下即可。
网站将此信息放在红框圈住的部分中了。
接下来让我们看看string的介绍吧。
下面的英文是对string的文字介绍。
用有道翻译如下
不细讲了,大家有兴趣的话可以自己看。
string结构剖析
这里存放的就是string的结构部分了。—这部分是文本介绍的下面所有内容。
构造函数
既然是类的我们就要看一下他的构造函数了。
我们的库一共提供了如此多的构造函数,而我们比较常用的是那些呢?
其实比较常用的也就是(1)(2)(4)其他部分也就没那么常用。
介绍一下吧
(1)部分就是传递无参的构造函数。(字符串是空字符串"\0")
(2)部分其实就是一个拷贝构造
(3)部分我们可以从一个常量字符串部分读取部分,pos是我们读取的位置,len是从pos位置读取的长度。 如下
(3)部分中的len的缺省值npos其实是类里的一个静态成员变量,如下图:
因为是size_t类型的-1所以其实是最大的int值。也就是说,如果我们用这个构造函数不传len的话其实是 默认从pos的位置初始化到结束部分。
(4)部分其实就是传递一个常量字符串
(5)部分传递一个常量字符串 n是从下标的某个位置开始打印。
(6)是传递n个字符c
(7)部分需要后续内容才可以讲解。
析构函数没什么可讲的,string只提供了一个析构函数还是自动调用跟我们使用者几乎没有关系 。
迭代器
注:在上面表格里我们可以看见类似于const_reverse_iterator
这样的,其实在前面有注释,
注释如下: