C++ STL中的容器-String
C++ STL中最基本以及最常用的类或容器无非就是以下几个:
- string
- vector
- set
- list
- map
String
用string初始化字符串分两类:用“=”号就是拷贝初始化,否则就是直接初始化。
string s1;//初始化字符串,空字符串
string s2 = s1; //拷贝初始化,深拷贝字符串
string s3 = "I am Yasuo"; //直接初始化,s3存了字符串
string s4(10, 'a'); //s4存的字符串是aaaaaaaaaa
string s5(s4); //拷贝初始化,深拷贝字符串
string s6("I am Ali"); //直接初始化
string s7 = string(6, 'c'); //拷贝初始化,cccccc
使用cin读入字符串时,遇到空白就停止读取,有时我们想把一个句子存下来,又不想像上面那样创建多个string来存储单词,怎么办?那就是用getline来获取一整行内容。\
string str;
getline(cin, str);
cout << str << endl;
可以是使用const_iterator使得访问元素时是能读不能写,这跟常量指针意思差不多。
string str2("hi sysu");
for (string::const_iterator it = str2.begin(); it != str2.end(); it++)
{
cout << *it << endl;
*it = 'l'; //这是错误的,不能写
}