What is the difference between perfectly nested lo

2019-09-01 17:55发布

问题:

I wanted to know what is the difference between perfectly nested loop and imperfectly nested loop?

回答1:

See this: openmp g++ error: collapsed loops not perfectly nested.

A perfectly nested loop is one wherein all content is in the innermost loop. For instance,

foreach(var a in vals1)
{
    foreach (var b in vals2)
    {
        Console.WriteLine(a + b);
    }
}

As compared to an imperfectly nested one,

foreach(var a in vals1)
{
    Console.WriteLine("values for " + a);

    foreach (var b in vals2)
    {
        Console.WriteLine(a + b);
    }
}

Of course, I'm a C# guy and this is C# where nobody I know of uses such terms and it doesn't matter at all, but you see the point. Just consider this pseudo-code that compiles under the right circumstances.