Xeo*_*Xeo 86
看一下构造函数的引用basic_string
,可以看出没有简单的方法可以重复一个完整的字符串.对于单个字符,您可以使用(2)
如下:
std::string s(5, 'a'); // s == "aaaaa"
Run Code Online (Sandbox Code Playgroud)
要生成字符串重复,您需要一些解决方法.例如,通过简单地填充字符串std::generate
(使用算法很有趣),可以更容易地进行构建.
#include <string>
#include <algorithm>
// ...
std::string pattern("Xeo ");
auto pattern_it = pattern.begin();
std::string s(256, '\0');
std::generate(s.begin(), s.end(),
[&]() -> char {
if(pattern_it == pattern.end())
pattern_it = pattern.begin();
return *pattern_it++; // return current value and increment
});
Run Code Online (Sandbox Code Playgroud)