c++ - C/C++ 中的 for 循环变量优化

标签 c++ c for-loop optimization

以下两个代码片段哪个更快?为什么?

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/

相关文章:

代码可以运行,但有一些小错误,我不知道它在哪里?

iphone - 如何从 iPhone 中的 C++ 代码调用 C 函数?

c - 在 Linux 下使用 gcc 在 C 中使用夏令时和 mktime

javascript - 如何显示停止循环的提示中的条目

c++ - 使用 ifstream 读取列中随机生成数字的文本文件并从列表中找到最小值和最大值?

c++ - Eigen bool 数组切片

c - 为什么下面的代码会进入死循环?

javascript - 以递减顺序显示的 angularjs 循环

c++ - 如何使用std::find查找具有struct成员值的set元素?

c++ - 无法使用 C++ STL 映射获得正确答案