- 关于String
1.使用string类必须先包括string头文件,作为标准库的一部分,string定义在命名空间std中;
2.初始化string对象有两种方法,直接初始化和拷贝初始化(使用等号);
3.string 类对象的相关操作
使用IO操作符读写;iostream中的cin及cout,读取过程中会自动忽略开头的空白从第一个真正的字符开始读起直到读到下一个空白为止;
利用while(cin)读取未知数量的string对象;循环直到遇到文件结束标记或者非法输入字符;
利用getline(输入流,string对象)读取一整行,最终保留字符串中的空白输入,把读取的内容(包括换行符)存入到对象中(不包括换行符)
string的empty(返回bool类型)、size(返回string::size_type类型)操作。如果一条表达式有size()函数就不要再使用int了,避免int和unsigned int混用带来的问题
利用相等型运算符及关系运算符按照字典顺序对string类对象进行比较;
允许string对象之间直接赋值;
允许string对象之间直接相加;
允许字面值和string对象之间相加:string对象+字面值结果还是一个string对象,可以继续和一个字面值相加;
使用基于范围的for语句处理每一个字符,可以使用auto指明string对象序列中每个变量的类型;
使用基于范围的for语句改变字符的值,需要将循环变量定义成引用类型
- 关于数组
1.可以使用字符串字面值(双引号括起来的0个或多个字符)对字符数组初始化,数组会自动添加表示字符串结束的空字符;
2.C标准库String函数包括 strlen、strcmp、strcpy、strcat,传入这类函数的指针必须是以空字符作为结尾的数组;
3.利用strcmp函数比较c风格字符串,因为这类对象在进行比较的时候实际上是在比较指针而非字符串本身,所以不能利用标准库string对象的比较方法;
4.利用strcat、strcpy连接或拷贝c风格字符串;
5.利用c_str将string 对象直接初始化成指向字符的指针