自学内容网 自学内容网

c++速成之从string类中获取那些知识

温馨提示:本篇文章依旧是c++速成系列的文章,因为从这里开始,内容就已经开始复杂,但博主还是以是什么,怎么用的原则继续给大家讲解知识点,希望大家能够耐心看完,并给博主留个三连,博主先在此谢过在看文章的小伙伴了

目录

STL中的“三足鼎立”

下标+[ ]

while和iterator

范围for

接口介绍

对对象容量的操作

对对象访问以及遍历的操作的接口

对对象的修改操作的接口

非成员函数


STL中的“三足鼎立”

在我们刚学编程语言的时候,都有学到过循环三剑客:while for  do{}while();那么同样都是三个,为啥这里却叫三足鼎立?别急往下看

首先,我们先来讲解一下这三足是哪三足。

种类:下标+[ ] 、while和iterator(这个是博主自己给它起的名字)、范围for

下标+[ ]

这个是最简单,也是我们最容易接受的一个迭代方式

定义格式:for(int i = 0; i < 对象.长度(); i++)

                 { 

                         语句;

                 }

样例:

for(int  i = 0; i < s2.size(); i++)

{
    cout << s2[i] << " ";

}

特点:与我们最初学的for循环相似。

由于这个迭代方式与for循环差不多,并且也没有什么好讲的,因此大家只要知道一个大概的格式即可

while和iterator

首先介绍一下iterator是迭代器的意思,它的作用就是迭代(所谓的迭代就是循环)

使用方式:

类型  对象名  =  对象名.begin()//这里的begin是一个接口,作用是获取首元素,那么这里还有一个end()的接口,作用是获取最末尾的元素。

样例:

auto  it = dict(是一个对象).begin();//初始值

那么这里大家可能会疑惑auto是什么类型,其实它并不是什么新类型,它只是一个类型推断的关键字,作用:会自动推断类型

小妙招:如果我们在写代码时,如果遇到很复杂的代码,并且不能够确定其类型时,就可以使用auto,让编译器自己去推断类型

while(it != dict.end())条件

{
//语句

it++;//调整部分

}

结合我们之前的知识,我们其实可以发现while和ioterator这个迭代方式和while循环一模一样

范围for

经过上面的介绍,基本上都讲的差不多了,因此我们用简单地讲一下范围for

定义格式:

for(auto cur : a)

{
//语句;

}

样例:

for(auto cur : a)

{

cout << cur << endl;//注意这里容易出现错误,这里最容易出现的错误是

              👆

//把这里写成了数组名

}

接口介绍

对对象容量的操作

接口名                    作用

size                         返回字符串的有效长度

capacity                  返回空间的总大小

empty                      检测字符串是否为空串

clear                        清空有效字符

reserve                    为字符串提前预留空间

resize                      将有效字符的个数改成n个,剩余空间用c代替

对对象访问以及遍历的操作的接口

接口名                    作用

operator[ ]              返回pos位置的字符,const string类对象调用

begin+ end            begin获取一个字符的迭代器 + end获取最后一个字符下一个位 置的迭代器

rbegin + rend        begin获取一个字符的迭代器 + end获取最后一个字符下一个位 置的迭代器

对对象的修改操作的接口

接口名                    作用

push_back               尾插字符串

append                    在字符串后面追加一个字符串

operatoe+=              在字符串后追加字符串

c_str                         返回C格式字符串

find + npos               从字符串pos位置开始往后找字符c,返回该字符在字符串中的位置

rfind                         从字符串pos位置开始往前找字符c,返回该字符在字符串中的位置

substr                      在str中从pos位置开始,截取n个字符,然后将其返回

非成员函数

函数名             作用

operator+        尽量少用,因为传值返回,导致深拷贝效率低

operator>>      输入运算符重载

operator<<      输出运算符重载

getline             获取一行字符串

relational operators 大小比较

那么这些知识基本的接口中的重要接口,更多接口大家可以自行去查阅官方文档,那么本品啊文章的内容就先到这里,我们下期文章再见,拜拜!

都看到这里了,给个三连呗,谢谢啦!!!


原文地址:https://blog.csdn.net/2302_80418176/article/details/142882465

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!