push_back for strings而不转换为vector

Joh*_*own 0 c++

我是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)

等等循环的每次迭代

Jer*_*fin 7

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)