繁体   English   中英

push_back用于字符串,而不转换为矢量

[英]push_back for strings without converting to vector

我是C ++的新手。 我无法弄清楚如何添加一个std::string到年底std::string没有使它一个std::vector ..

现在我有:

string returnvar;
for (int i=start; i<=end; i++) {
    returnvar.push_back(library[data[i]]);
}

但是push_back()应该与std::vector<std::string>而不是与std::string 我如何将std::string推到末尾,如:

a
ab
abc
abcd

如此循环的每次迭代

std::string具有push_back()方法,就像std::vector的方法一样(第21.4.6.2/21节):

void push_back(charT c);
    Effects: Equivalent to append(static_cast<size_type>(1), c).

您可以改用operator+=

returnvar += library[data[i]];

append()重载:

returnvar.append(&library[data[i]], 1);

returnvar.append(1, library[data[i]]);
std::string returnvar;
for (std::size_t i = start; i <= end; ++i)
{
    returnvar += library[data[i]];
}

您可以使用+ =运算符:

string returnvar;
for (int i=start; i<=end; i++) {
    returnvar += library[data[i]];
}

append函数(已编辑,以反映Jerry Coffin的更正):

string returnvar;
for (int i=start; i<=end; i++) {
    returnvar.append(1, library[data[i]]);
}

更多信息:

http://www.cplusplus.com/reference/string/string/operator+=/

http://www.cplusplus.com/reference/string/string/append/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM