以下两个代码片段哪个更快?为什么?
在 for
语句外部声明循环索引变量:
size_t i = 0;
for (i = 0; i < 10; i++)
{
}
和
在 for
语句中声明循环索引变量:
for (size_t i = 0; i < 10; i++)
{
}
最佳答案
两者都不是,它们是等价的并且会产生相同的机器代码。
(编译器将从第一个示例中删除两次 i
的冗余初始化。)
变量的声明位置与性能和内存使用关系不大。
for (size_t i = 0; i < 10; i++)
通常被认为是最具可读性的。
for (i = 0; i < 10; i++)
优点是您可以使用i
循环完成后变量 - 当迭代次数可变时,这最有意义。
关于c++ - C/C++ 中的 for 循环变量优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43253962/