上海软件外包公司排名seo快速排名源码
字符串、向量和数组
命名空间的using声明
目前用到的库函数基本上都属于命名空间std;通过using声明(using declaration)实现更简单的途径使用到命名空间中的成员。
标准库类型string
string表示可变长的字符序列,必须先包含string头文件(#include <string>);作为标准库的一部分,string定义在命名空间std中。
定义和初始化string对象:
string s1;//默认初始化,s1是一个空字符串
string s2(s1);//s2是s1的副本
string s2 = s1;//等价于上式
string s3 = "hiya";//s3是该字符串字面值的副本,除了字面值最后的那个空字符外
string s4(10, 'c');s4的内容是cccccccccc
直接初始化和拷贝初始化:如果使用等用(=)初始化一个变量,实际上执行的是拷贝初始化,编译器把等号右侧的初始值拷贝到新建的对象中去;与之相反,如果不使用等号,则执行的是直接初始化。
string s5 = "hiya";//拷贝初始化
string s6("hiya");//直接初始化
string s7(10, 'c');//直接初始化,s7的内容是cccccccccc
string对象上的操作:
操作 | 解释 |
os<<s | 将s写到输出流os当中,返回os |
is>>s | 从is中读取字符串赋给s,字符串以空白分隔,返回is |
getline(is, s) | 从is中读取一行赋给s,返回is |
s.empty() | s为空返回true,否则返回false |
s.size() | 返回s中字符的个数 |
s[n] | 返回s中第n个字符的引用,位置n从0计起 |
s1+s2 | 返回s1和s2连接后的结果 |
s1=s2 | 用s2的副本代替s1中原来的字符 |
s1==s2 | 如果s1和s2中所含的字符完全一样,则它们相等,string对象的相等性判断对字母的大小写敏感 |
s1 != s2 | 不相等判断 |
<, <=, >, >= | 利用字符在字典中的顺序进行比较,且对字母的大小写敏感 |
【=========================================待更新=============2023.8.21========================】
标准库类型vector
迭代器介绍
数组
多维数组
参考
C++ Primer(第5版).