我一直在阅读 Accelerated C++ ,我不得不说这是一本有趣的书。
在第 6 章中,我必须使用
int main () {
using namespace std;
string str = "Hello, world!";
vector<string> vec (10, str);
// Concatenate here?
return 0;
}
如何将字符串连接在一起?
原文由 Bogdan 发布,翻译遵循 CC BY-SA 4.0 许可协议
假设这是问题 6.8,它并没有说你必须使用累积 - 它说使用“库算法”。但是,您可以使用累积:
累积所做的只是将“sum”设置为第三个参数,然后对于从第一个参数到第二个参数的所有值“val”,执行以下操作:
然后它返回“总和”。尽管在
<numeric>
中声明了累积,但它适用于任何实现operator+()
注意: 这个解决方案虽然优雅,但效率低下,因为将为
vec
的每个元素分配和填充一个新字符串。