c++ - 如何在 C++ 中使用字符串重复?
问题描述
我最近遇到了这段代码。有人可以解释一下吗。
string generateTheString(int n) {
return "b" + string(n - 1, 'a' + n % 2);
}
这里是什么string(n - 1, 'a' + n % 2)
意思?
解决方案
string(n - 1, 'a' + n % 2);
正在调用字符串构造函数(特别是#2)。
您的字符串将使用 character 的实例进行n - 1
实例化'a' + n % 2
。
然后将其与"b"
.
例如,如果n
是 5,你会得到n - 1 => 4
of'a' + 5 % 2 => 'a' + 1 => 'b'
然后在前面加上另一个b
. 所以你会结束"bbbbb"
。