在C++中消除for循环

Cra*_*len 0 c++ for-loop c++11

最近,在进行编码时,我一直在发现自己一遍又一遍地为循环标题编写完全相同的内容:

for (int i = 0; i < [somevalue]; i++)
{
    [other code]
}
Run Code Online (Sandbox Code Playgroud)

有没有人知道重载for循环的方法,或者定义另一个关键字以便它需要一个数字并通过给定的for循环来提供它,以缩写为:

for ([somevalue])
{
    [other code]
}
Run Code Online (Sandbox Code Playgroud)

要么

nfor ([somevalue])
{
    [other code]
}
Run Code Online (Sandbox Code Playgroud)

因为只是一直编写for(12)并让它迭代12次代码会更好

0x4*_*2D2 6

您可以创建自己的for方法来获取函数对象:

template <class F>
void for_t(std::size_t n, F const& f)
{
    while (n--)
        f();
}

int main()
{
    int count = 0;
    for_t(5, [&] { std::cout << ++count << " "; });
}
Run Code Online (Sandbox Code Playgroud)