我们从这篇文章之后就正式开始学习STL的string,字面看起来是不是像C语言里面的字符串之类的处理方法,是的,C++里面也是对字符串的一些处理函数,但是C++有很多这样的函数,给大家推荐一个网站 ,这个网站是C++的官网,里面有所有函数的使用方法,当我们不会用这个函数的时候就可以去这个网上去查。cplusplus.com - The C++ Resources Networkhttps://legacy.cplusplus.com/
我们就来详细说说string类的一些重要函数吧。
string的基本用法
通过代码应该很容易看出来到底怎么用。
迭代器和范围for
这个是string的重点,后面的vector也会有这个东西,我们先看看区别,分清楚到底是啥。当我们需要去打印hello world!的时候,我们有三种方法:
大家可能会疑惑,这个auto到底是个啥。
auto
1.在早期C/C++中auto的含义是:使用auto修饰的变量,是具有自动存储器的局部变量,后来这个不重要了。C++11中,标准委员会变废为宝赋予了auto全新的含义即:auto不再是一个存储类型指示符,而是作为一个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得。
2.用auto声明指针类型时,用auto和auto*没有任何区别,但用auto声明引用类型时则必须加&,当在同一行声明多个变量时,这些变量必须是相同的类型,否则编译器将会报错,因为编译器实际只对第一个类型进行推导,然后用推导出来的类型定义其他变量。
3.auto不能作为函数的参数,可以做返回值,但是建议谨慎使用;
4.auto不能直接用来声明数组。
这些枯燥官方的文字并不能帮助我们了解到底什么是auto,我们还是看看代码吧。
变量必须要有初始值才能用auto,
可以知道auto的作用了吧,其实也是省事了,编译器帮我们推导出来了。
这一段代码也是证实了第二点,大家对号入座一下就能很清晰的理解了。
这是对应的第四点。
这是对应的第三点。