字符串
字符串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 |










网友评论