gpt4 book ai didi

c++ - 获取除第一个元素以外的所有元素作为单独的 vector

转载 作者:太空狗 更新时间:2023-10-29 23:30:03 26 4
gpt4 key购买 nike

我正在尝试用 C++ 编写一个基本的命令行程序。虽然其余代码可能也有很多问题,但我现在面临的问题是:我已将输入的行分成几部分,但我无法弄清楚除了第一个以外的所有部分,所以我可以将其作为命令的参数列表向下传递。

如果这是 Ruby,我会做这样的事情,其中​​ parts 是命令的以空格分隔的参数数组:

command = parts[0]
args = parts[1..-1]

其中 parts 是用空格分隔的位数组。

TL;DR:如何获取 vector 的第一个元素以外的所有元素?

如果使用另一种类型使它更容易,请随意说——我认为我移植它不会有太多麻烦。

我试过使用双端队列,但我不想修改部分,只是获取它的一部分。我也在这个网站上四处搜索,但出现的所有问题要么是相关的,但以我无法使用的方式解决,要么是我宁愿避免的真正 hacky 解决方法的开始,要么完全不相关。


附言我没有使用 using namespace std,但是 std:: 很难打字,所以我在这里省略了它。请务必在您的答案中提供(如适用)。

附言我只是(重新)开始学习 C++,所以请在回答的同时提供解释。

最佳答案

TL;DR: How can I get all but the first elements of a vector?

如果你想要一个包含它的 vector ,那么这样做:

std::vector<int> parts = ...;
std::vector<int> args(parts.begin() + 1, parts.end());

如果您只想访问 vector 元素,则从 parts.begin()+1 开始直到 parts.end()

关于c++ - 获取除第一个元素以外的所有元素作为单独的 vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32875261/

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