【问题标题】:How to use string repeat in c++?如何在 C++ 中使用字符串重复?
【发布时间】:2020-10-01 11:55:49
【问题描述】:

我最近遇到了这段代码。 谁能解释一下。

string generateTheString(int n) {
    return "b" + string(n - 1, 'a' + n % 2);
}

string(n - 1, 'a' + n % 2) 在这里是什么意思?

【问题讨论】:

  • 查看字符串her的构造函数

标签: c++ string c++11 repeat


【解决方案1】:
string(n - 1, 'a' + n % 2);

正在调用string constructor(特别是#2)。

您的字符串将被实例化为 n - 1 字符 'a' + n % 2 的实例。

然后将其与"b" 连接。

例如,如果 n 为 5,您将获得 'a' + 5 % 2 => 'a' + 1 => 'b' 中的 n - 1 => 4,然后添加另一个 b。所以你最终会得到"bbbbb"

【讨论】:

  • 但是,C++ 标准并不要求 'a' + 1'b'。我所知道的每个字符编码都是如此,但编写此类代码的人需要考虑它可能不可移植。
猜你喜欢
  • 1970-01-01
  • 2015-06-07
  • 1970-01-01
  • 1970-01-01
  • 2018-11-21
  • 2019-10-10
  • 2014-11-22
  • 2012-02-02
  • 2013-07-11
相关资源
最近更新 更多