小编gxi*_*xiv的帖子

有没有办法在 C++ 中一次迭代两个项目?

想象一下我有一个有序的 std::vectorA = {x1, x2, ..., xn}并且我想对每个后续的项目对执行操作,例如f(x1, x2); f(x2, x3); ... f(xn-1, xn); f(xn, x1)

我可以像平常一样迭代,同时跟踪前一项:

for (auto x : A) {
    ...
    f(previous_x, x);
    previous_x = x;
}

f(previous_x, first_x);
Run Code Online (Sandbox Code Playgroud)

但是有没有更好的方法来迭代这个向量呢?该语言中是否有可以简化此操作的功能?

尝试了提供的解决方案。它有效,但很想知道是否有更干净、更简洁的方法。

c++ loops for-loop stl stdvector

0
推荐指数
1
解决办法
702
查看次数

标签 统计

c++ ×1

for-loop ×1

loops ×1

stdvector ×1

stl ×1