我是C++的新手.我无法弄清楚如何添加一个std::string到一个结束std::string而不使它成为std::vector...
现在我有:
string returnvar;
for (int i=start; i<=end; i++) {
returnvar.push_back(library[data[i]]);
}
Run Code Online (Sandbox Code Playgroud)
不过push_back()是为了与使用std::vector<std::string>没有std::string.我怎么才能坚持到最后std::string:
a
ab
abc
abcd
Run Code Online (Sandbox Code Playgroud)
等等循环的每次迭代
std::string有一个push_back()方法,就像std::vector's(§21.4.6.2/ 21):
void push_back(charT c);
Effects: Equivalent to append(static_cast<size_type>(1), c).
Run Code Online (Sandbox Code Playgroud)
你可以operator+=改用:
returnvar += library[data[i]];
Run Code Online (Sandbox Code Playgroud)
或者其中一个append()重载:
returnvar.append(&library[data[i]], 1);
Run Code Online (Sandbox Code Playgroud)
returnvar.append(1, library[data[i]]);
Run Code Online (Sandbox Code Playgroud)