c++ - 遍历 for 循环,然后再次向后遍历它的最佳方法?

标签 c++ loops for-loop iterator

我发现,在编写动画时,我有时会遇到必须执行一次 for 循环,然后再向下迭代该值的情况。这通常用于跳跃动画,或者消失然后再次出现的动画。

这是我所做的示例 -

// Make the sprite slowly disappear
for (int i = 256; i > 0; --i)
{
    sprite.opacity(i);
    draw();
}

// Make the sprite slowly appear again
for (int i = 0; i < 256; ++i)
{
    sprite.opacity(i);
    draw();
}

每次我这样做的时候,我都深深地觉得这太过分了。有什么更好的方法来解决这个问题?我不完全确定什么是最佳实践。我想我可以使用 reverse_iterator,但我也不确定我将如何实现它。

最佳答案

考虑使用 <cmath> abs() 函数:

for( int i = -255; i <= 255; i++)
    use( abs( i ) );

关于c++ - 遍历 for 循环,然后再次向后遍历它的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23480824/

相关文章:

c++ - 为什么使用迭代器而不是数组索引?

C++ For 循环遍历结构 vector (包含更多结构 vector )

c++ - 根据条件枚举一组排列

c++ - const 属性的复制构造函数问题

javascript - Base 64 字符串有时会神奇地变大......

删除两个索引时的Java ConcurrentModificationException,当前索引和随机索引

c++ - Foreach 通过包含 C++ 中的指针的 vector

c++ - 多次使用 QNetworkAccessManager GET

c++ - 一种快速的、基于排名的 float 基数排序?

python - 在 Pandas 数据帧上并行操作时速度慢