【发布时间】:2021-09-24 20:10:10
【问题描述】:
在 python 中,如果我有一些可迭代的,我可以这样做:
v = v[n:k] //
for i in v[3:]:
"do something"
现在在 C++ 中我想要这个:
vector<int> v = {1,2,3,4,5,6,7,8}
v = v[3:5];
或者是这样的:
for(auto n: v[2:end])
"do something";
我试图找到这个问题的语法,但还没有找到任何东西。
【问题讨论】:
-
不要描述 Python 语法,而是描述你想要的结果。
-
你可以这样做:
for(auto i : std::vector(v.begin() + 2, v.end())) -
我不知道 python,但是如果你想查看数组中特定范围的元素,你可以使用迭代器并将它们递增 n 或 k。
std::vector<int> v = {0, 1, 2, 3, 4, 5, 6};那么你可以,比如说,只循环遍历元素 2 到 4。for(auto it = v.begin() + 2; it != v.begin() + 4; ++it) {} -
Python 不是 C++。在编写 C++ 代码时不要使用 Python 技术,否则你的 C++ 代码会出现错误、效率低下、内存泄漏,或者对于 C++ 程序员来说看起来很奇怪。