string是表示字符串的字符串类。管理字符数组的一个类。数组
在使用string类时,必须包含#include头文件以及using namespace std;ide
string对象的容量操做:spa
注意:对象
size();求的是字符个数。ci
clear();只是将string中有效字符清空,不改变底层大小,也就是capacity。字符串
resize(n)和resize(n,c);都是将字符串中有效字符个数改变到n个,也就是size变为n;get
不一样的是当字符个数增长时:resize(n)是用0来填充多余空间,resize(n,c)是用字符c来填充;、string
resize在增长元素个数时,可能会改变底层容量的大小,可是在减小元素个数时,不会改变底层容量大小。(由于resize改变的是size,而不是capacity)it
string类对象的访问及遍历操做class
一、for+operator[pos] 返回pos位置的字符,也就是重载了[]运算符,对象能够直接当数组用。
二、begin+end 为迭代器用法(iterator);begin获取一个字符的迭代器,end为最后i一个字符下一个位置的迭代器。(迭代器取元素须要解引用)
三、rbegin+rend 为倒着遍历迭代器用法。
四、范围for:for(auto ch:array){}
五、c_str返回c格式得字符串。如char* ch=c_str();
查找
find:
find(ch,pos)pos位置开始找ch的值,pos默认为0,返回值为下标,若是没有找到返回值为string::npos
rfind 由end开始查找。
substr(pos,len)在pos位置开始截取len长度的字符串。substr为某个对象的字串。
输入:
getline(cin,s);获取一行字符串,遇到换行停。
cin和scanf都是遇到空格或者换行就停。