大家好,许久不见,今天我们来学习c++中的string类,在这一部分,我们首先应该学习一下string类的用法,然后再试着自己去实现一下string类。
在这里,我使用的是这个网站来查找的string类,这里面的内容比较全面,很适合我们查找一些东西,
那么我们现在就来看一下string类的使用:
1. string类的使用
1.1 构造函数
对于构造函数来说,有一共有七个构造函数
其中主要使用的有以下几种:
s1使用的是无参的构造函数,结果是空指针,s2是复制n个给定字符结果是ssssssssss,s3是拷贝构造函数,结果和s2相同,s4是使用字符串进行初始化,s5是对字符串的某个区间截取后初始化,s6是以字符串的头到第n个字符进行初始化。
析构函数这里没什么好说的,就先跳过了。
1.2 赋值重载
下面是重载的=运算符的使用方法:
这里共有三种方法,其中有使用字符赋值的,字符串赋值和string类对象进行赋值的。下面就是这三种的例子:
看完了这些,我们接下来学习一个新的知识,迭代器。
1.3 迭代器
迭代器是属于类的,在使用的时候要使用访问限定符。
这是有关迭代器的几个函数,随后我们来学习。
迭代器可以用来遍历对象,用来打印对象的内容。在使用的时候要使用访问限定符,其中s4.begin()表示的是s4的第一个位置,s4.end()表示的是s4的最后一个位置的下一位,在表示位置时,不将字符串末尾的 '\0'计算进去,所以end()表示的就是'\0'的位置,当it++时,就会跳到下一个位置。而rbegin和rend时反向迭代器,也就是将begin和end的位置进行了交换,在使用时与前者时一样的。
迭代器同样可以用来修改字符串内容,而对于下面的四个函数,表示const内容的迭代器,也可以对普通内容使用,但它不能用于修改它指向的内容,即是对象本身不是 const。
1.4 string中与空间有关的函数
接下来我们来看几个与空间有关的函数
我们首先来看这四个简单的函数:
size和length都表示字符串的长度,没有区别 ,capacity表示的是字符串能存储的字符个数,max_size表示的是字符串的最大长度,与空间无关,