【发布时间】:2016-02-19 13:39:07
【问题描述】:
这里已经有一个问题:How to repeat a string a variable number of times in C++? 但是因为这个问题的表述很糟糕,所以给出了关于 character 乘法的主要答案。有两个正确但昂贵的答案,所以我将在这里提高要求。
Perl 提供了x 运算符:http://perldoc.perl.org/perlop.html#Multiplicative-Operators,它可以让我这样做:
$foo = "0, " x $bar;
我知道我可以使用其他答案中的辅助函数来执行此操作。我想知道我可以在没有自己的辅助功能的情况下做到这一点吗?我的偏好是我可以用它来初始化 const string,但如果我不能这样做,我很确定这可以用标准算法和 lambda 来回答。
【问题讨论】:
-
"标准算法和一个 lambda" - 怎么不是辅助函数?请说清楚。你想在这里实现什么目标?
-
@KarolyHorvath 我认为这些部分一起“在没有我自己的辅助函数的情况下执行此操作”-“如果我不能这样做,我很确定这可以通过标准算法和拉姆达“
-
也许 op 想要为
std::string自定义乘法运算符? -
@KarolyHorvath 大多数链接的答案都是关于重复单个字符。只有one 是关于重复一个完整的字符串。我的回答是“真的很难看” 和“不必要的复杂”,我不觉得有任何冒犯,但您介意告诉我它们到底让您烦恼的是什么吗?链接的答案要复杂得多。
-
@KarolyHorvath 我也同意仅在一个地方使用 lambda 函数是不必要的。就地编写代码会容易得多。
标签: c++ string multiplication repeat