动态设置for循环的初始化,条件和入/减

时间:2015-03-05 01:31:47

标签: c++ c for-loop

目前,我必须写出多个for-loops,它们都执行相同的任务,差异在于for-loops本身的初始化,条件和de /增量。

这是我到目前为止类似的例子:

if(some_bool_condition)
{
    for(int i = 0; i < 5; i++)
    {
        // do something
    }
} 
else
{
    for(int i = 10; i >= 5; i--)
    {
        // do same thing
    }
}

我可以使用技巧或技巧将这些for-loops合并在一起吗?

2 个答案:

答案 0 :(得分:9)

int start = 0;  // or some other value
int end   = 5;  // ditto
int delta = 1;  // 1 or -1
for ( int i = start; i != end; i += delta )
{
    // do something
}

当然必须仔细选择delta,以便i实际上达到end

答案 1 :(得分:5)

做一些事情。将起始值,测试和递增/递减值作为参数传递。在函数中执行for循环。