gpt4 book ai didi

python - 在 C++ 中的特定索引之后,是否有一种直接的方法来获取 vector 中的所有项目?

转载 作者:行者123 更新时间:2023-11-27 22:33:04 24 4
gpt4 key购买 nike

我正在编写一个程序,它将从 python 套接字接收命令,然后远程执行它们。起初,我打算在整个项目中使用 python,但我决定使用 C++,这样我就可以学习一门新的语言。在 Python 中,我有一个如下所示的脚本:

list = ['arg1', 'arg2', 'arg3', 'arg4', 'arg5']
args1 = list[0]
args2 = list[1]
other = ' '.join(list[2:]) # 'arg3 arg4 arg5'

现在,我正在尝试将这段代码翻译成 C++,但我还不熟悉这种语言。所以,我的问题是:有没有一种直接的方法来获取 vector<string> 中特定索引之后的所有项目?并将它们连接成一个字符串?

最佳答案

好吧,您可以将迭代器与数字库一起使用

#include <numeric>
#include <vector>
#include <iostream>

using namespace std;

int main(int, char**) {
vector<string> v{"arg1", "arg2", "arg3", "arg4"};
size_t index = 2;
string merged = accumulate(v.begin() + index, v.end(), string(""));
cout << merged; //arg3arg4
}

但是,这不会用空格分隔项目。为此,您必须添加一些额外的代码

...
accumulate(v.begin() + index, v.end(), string(""),
[](string& v, const string& item){
return v.empty() ? item : v + ' ' + item;
});

关于python - 在 C++ 中的特定索引之后,是否有一种直接的方法来获取 vector 中的所有项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58515831/

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