gpt4 book ai didi

c++ - 组合字符串 vector

转载 作者:IT老高 更新时间:2023-10-28 21:43:42 31 4
gpt4 key购买 nike

我一直在阅读 Accelerated C++我不得不说这是一本有趣的书。

在第 6 章中,我必须使用 中的函数将 vector 连接成单个字符串。我可以使用累积,但它没有帮助,因为字符串容器只能 push_back 字符。

int main () {
using namespace std;
string str = "Hello, world!";
vector<string> vec (10, str);
// Concatenate here?

return 0;
}

如何将字符串连接在一起?

最佳答案

假设这是问题 6.8,它并不是说您必须使用累积 - 它说使用“​​库算法”。但是,您可以使用累积:

#include <numeric>

int main () {
std::string str = "Hello World!";
std::vector<std::string> vec(10,str);
std::string a = std::accumulate(vec.begin(), vec.end(), std::string(""));
std::cout << a << std::endl;
}

accumulate 所做的只是将 'sum' 设置为第三个参数,然后对于从第一个参数到第二个参数的所有值 'val',执行以下操作:

sum = sum + val

然后它返回“总和”。尽管在 <numeric> 中声明了累积它适用于任何实现 operator+()


注意:这个解决方案虽然优雅,但效率低下,因为将为 vec 的每个元素分配和填充一个新字符串。 .

关于c++ - 组合字符串 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1985978/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com