学习目标:
C++ primer 第三章学习内容:
字符串、向量、数组学习时间:
6.30学习产出:
1、string和vector 是两种最重要的标准库类型,前者支持可变长字符串,后者则表示可变长的集合。
2、作用域操作符"::",含义是编译器应该从左侧名字中的作用域中寻找右侧那个名字。
3、命名空间的using声明
using std::string;
using std::cout;
using std::cin; //using 声明,当我们使用名字cin时,从命名空间std中去获取
注意:头文件一般不使用using的声明。
4、标准库类型string 表示可变长字符序列,使用string类型要包含string的头文件。
#include <string>
using std::string;
定义和初始化string对象
string s1; //默认初始化,s1是一个空字符串
string s2 = s3; //s2 是s1 的副本
string s3 = "hiya"; //s3是该字符串的字面值的副本
string s4(10,'C'),; //s4的内容是10个C
直接初始化和拷贝初始化:使用等号=,是拷贝初始化,不使用等号则执行的是直接初始化。
string s5 = "hiya"; //拷贝初始化
string s6("hiya"); //直接初始化
string s7(10,'C'); //直接初始化
5、使用getline读取一整行
getline(is,s) 从is中读取一行赋值给s,返回is。直到遇到换行符为止
getline(cin,line) //从输入流读入内容,直到遇到换行符为止
6、s.empty() s 为空返回true,否则返回false
//读入一行遇到空行直接跳过
while (getline(cin,line))
if(!line.empty())
cout << line << endl;
7、s.size() 函数返回string对象的长度,size函数返回的是一个无符号整型数。
8、两个string对象相加。即为两个string对象相连接
string s1 = "hello,",s2 = "world\n";
string s3 = s1 + s2; //s3 的内容是hello,world\n
s1 += s2; // 等价于s1 = s1+s2
9、字面值和string对象相加:至少确保加法两侧有一个的运算对象是string类型
string s4 = s1 + ","; //right
string s5 = "hello" + "," // false :两个对象都不是string类型
由此可见字符串字面值与string是不同类型
到处理string对象的字符:
——————————————————————————-—
2021年6月30号:实习的最后一天。从今年3月1号到公司报到。四个月整。公司虽然小,但是很好,一群上进的年轻人聚集在一起奋斗。而我也能在完成日常的工作后,有更多的时间提高自己。
下一个阶段要继续努力!!!