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

Hay*_*den 1 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
    }
}
Run Code Online (Sandbox Code Playgroud)

有没有可以用来将这些合并for-loops在一起的技巧或技巧?

use*_*109 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
}
Run Code Online (Sandbox Code Playgroud)

当然必须仔细选择三角洲,以便i实际到达end.


Evi*_*ach 5

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