想象一下我有一个有序的 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)
但是有没有更好的方法来迭代这个向量呢?该语言中是否有可以简化此操作的功能?
尝试了提供的解决方案。它有效,但很想知道是否有更干净、更简洁的方法。