字符串
字符串string是对字符的集合
初始化string对象的方法 | |
---|---|
string s1 | 默认初始化,s1是一个空串 |
string s2(s1) | s2是s1的一个副本 |
string s2 = s1 | s2是s1的一个副本 |
string s3 {"value"} | s3是value的一个副本,除去字面值最后的那个空字符 |
string s3 = "value" | 与s3同样效果 |
string s4{n, ‘c’} | n个c字符 |
直接初始化(Direct initialization)VS拷贝初始化(Copy initialization)
拷贝出示化表示:使用=初始化一个变量
直接初始化表示不使用=初始化一个变量
当初始值只有一个的情况下,两种初始化没有太大的区别,当像s4一样的话,那必须使用直接初始化;
string对象上的操作
string的操作 | |
---|---|
os << s | 将s写入输出流os,返回os |
is >> s | 从is中读取字符串赋给s,字符串已空白分隔,返回is |
s.empty() | s为空返回true,s为假返回false |
s.size() | 返回s中字符的个数 |
s[n] | 返回s中第n个字符的引用,从0开始 |
s1 + s2 | 将s2 连接到s1之后 |
s1 = s2 | 用s2的副本替换s1种的字符串 |
s1 == s2 | s1 与s2种的字符一样,则相等,对字符大小写的判断敏感 |
s1 !=s2 | 判断不等 |
getline(is, s) | 读取一行字符赋值给s,遇到换行符停止,返回输入流 |
< ,> ,<= ,>= | 利用字符在字典中的顺序进行比较,对字幕大小写敏感 |
向量
标准库vector表示对象的集合,所有对象的数据类型一致。vector容纳其他对象,因此也成为”容器“(Container)
C++中有类模板(Class temples),也有函数模板(Function temples),vector是一个类模板。模板本身不是类或者函数,相反可以把模板看作为编译器生成类和函数的一份说明。compiler根据模板生成类和函数的过程称为实例化。
定义vector
初始化vector | |
---|---|
vector<T> v1 | v1为一个空的vector,其潜在的元素是T类型,执行默认初始化 |
vector<T>v2(v1) | v2 |
网友评论