一、初始化:直接初始化和拷贝初始化
如果使用等号(=)初始化一个变量,实际上执行的是拷贝初始化;如果不使用等号,则执行的是直接初始化。
string s1 = "peach"; // 拷贝初始化
string s2("peach"); // 直接初始化
string s3(10, 'c'); // 直接初始化,s3的内容是cccccccccc
二、string对象上的操作
getline(is) // 从is中读取一行赋给s,返回is
s.empty() // s为空返回true,否则返回false
s.size() // 返回s中字符的个数
在执行读取操作时,string对象会自动忽略开头的空白(即空格符、换行符、制表符等)并从第一个真正的字符开始读起,知道遇到下一处空白为止。
string::size_type类型是size函数的返回类型,它使一个无符号类型的值,而且能够足够存放下任何string对象的大小,所有用于存放string类的size函数返回值的变量,都应该是string::size_type类型。
三、cctype头文件中的函数
isalnum(c) // 当c是字母或数字时为真
isalpha(c) // 当c是字母为真
iscntrl(c) // 当c是控制字符时为真
isdigit(c) // 当c是数字时为真
isgraph(c) // 当c不是空格但可以打印时为真
islower(c) // 当c是小写字母为真
isprint(c) // 当c是可打印字符为真
ispunct(c) // 当c是标点符号为真
isspace(c) // 当c是空白为真
isupper(c) // 当c是大写字母为真
isxdigit(c) // 当c是十六进制数字为真
tolower(c) // 如果c是大写字母,输出对应的小写字母
toupper(c) // 如果c是小写字母,疏忽对应的大写字母
处理string变量的每一个字符使用:
string str("some string");
for (auto &c : str) // 对于str中的每个字符
cout<<c<<endl; // 输出当前字符,后面紧跟一个换行符