for循环中的数组初始化是否比C ++中的非for循环初始化慢
Is array initialization in for loop slower then non-for loop initialization in C++
我想知道这段代码是否
for (int i=0; i <= n; i++)
{
someArray[i] = i;
}
会比像这样逐行初始化数组慢
someArray[0] = 0;
someArray[1] = 1;
.
.
.
someArray[n] = n;
似乎如果没有对此进行编译器优化,for 循环会变慢,因为它需要创建一个新变量i
,检查条件语句并递增i
。我想知道是否真的有一个编译器时间优化来优化这样的场景。
编译器可以进行循环展开以使其更快。
我想知道这段代码是否
for (int i=0; i <= n; i++)
{
someArray[i] = i;
}
会比像这样逐行初始化数组慢
someArray[0] = 0;
someArray[1] = 1;
.
.
.
someArray[n] = n;
似乎如果没有对此进行编译器优化,for 循环会变慢,因为它需要创建一个新变量i
,检查条件语句并递增i
。我想知道是否真的有一个编译器时间优化来优化这样的场景。
编译器可以进行循环展开以使其更快。