C++用一个字符初始化一个新字符串。
- string new_s = old_s.substr(pos, n):
返回一个string给new_s,是old_s的一部分或者全部,参数为:pos开始位置、n计数值。
注意:计数值n可以超过string的范围,但开始位置pos不能超过size()。 - string new_s(cp, n):
从old_s的cp指针开始,复制n位。new_s是新字符串,使用旧字符串old_s的指针cp(这个指针可以是old_s中的某一位),再指定n字符,对new_s进行初始化。
注意:n不能超过old_s的长度。 - string new_s(old_s, pos):
从old_s的pos下标开始到结尾(结束符)复制给到new_s。这里区别于1,参数就是旧字符串old_s本身,pos为old_s的下标。 - string new_s(old_s, pos, n):
从old_s的pos下标开始的n位,复制给到new_s。
注意:这里n超过了old_s.size()也没关系。
可以用Leecode的一道题目来练习写一下:
https://leetcode.cn/problems/number-of-senior-citizens/description/?