Skip to content

ch7 string

这部分主要介绍 string 的方法和使用。

字符串定义和初始化

在使用花括号的语法初始化的时候,注意有的时候花括号的语法会和构造函数产生冲突,比如 string s{6, 'z'} 这个花括号初始化的语法可能会和初始化列表构造函数的方法产生冲突,如果想调用那个重复 6 次 'z' 的构造函数,应该使用括号,避免冲突,比如 string s(6, 'z')

将字符串转换为数字

string 头文件中定义了多种将字符串转换为数字的方法,比如 std::stoi()std::stoll() 等等,用来进行字符串到数字类型的转换。

原始字符串字面量

有时候可能会遇到字符串字面量中出现大量字符需要转义的场景,为了解决这个问题,推出了原始字符串字面量,只要在字符串字面量面前加上 R,字符串字面量中就不需要再进行转义。对于特别的字符串字面量,比如 R"he says "abcd" ",我们希望这个原始字符串字面量中中中间包含的引号也被算入字符串字面量,但是程序识别到引号的时候认为其字符串字面量已经结束了,这时候可以使用界定符界定字符界定开始和结束,比如 R"**he says "abcd" **",这时候 ** 被认为是开始和结束的界定符,中间的任何字符都被认为是原始字符串字面量。