string:
string表示可变长度的字符序列。可以通过下标的方式如:string s;s[1]则表示第二个字符
string支持字符串之间的复制,比较,连接等操作。
另外,使用string有一个必要的头文件,#include<string>
另外,char字符串的一些基本函数: ps:这些是char类型能用!!! char字符用ctring头文件
strlen(s); 返回s的长度,空字符不会计入
strcmp(s1,s2); 比较s1 s2,如果相等返回0;p1大返回正值,p2大返回负值
strcat(s1,s2); 把s2附加到s1后面
strcpy(s1,s2); 把s2复制到s1之中
string中基本操作:
string s1; 定义
string s1(s2); s2是s1副本
string s1=s2; 等价于上
string s1(n,'a') n个a组成s1
os<<s 把s写到输出流os中,返回os
is>>s 从输出流is读取字符串赋给s;字符串以空白分隔,返回is
getline(is,s); 从输入流is中取一行给s
s.empty(); s空返回true(bool数)非空返回flase
s.size(); s的字节个数
s.c_str(); 转换,返回s中内容对应的c风格字符串首地址
s1+s2 返回s1连接s2的结果
s1+=s2 s1后接s2
vector
同string一样,需要有个头文件为#include<vector>
定义:
vector<数据类型>变量名;
如:vector<int>v;
vector<int>v2(v1);v2含有v1的所有元素
vector<int>v(n,val); 包含n个重复元素,内容都是val
vector<int>v(n); v包含n个重复执行值初始化的元素
vector<int>v{a,b,c.....};v包含初始值个数的元素,被赋予相应的初始值
基本操作:
v.empty(); 是空返回true,非空返回flase 依然是bool
v.size(); v的元素个数
v.push_back(a); 向尾部添加一个元素a;
v.pop_back(); 删除v的尾端的一个元素
v[n] v的第n个元素
v.at(n); 返回v中第n个位置上元素的引用,下标越界通知异常
总的来说这两个标准模板类型较为简单,用法比较普遍,不多做赘述。