Luc*_*ore 0 c++ syntax for-loop coding-style
代码之间是否存在任何差异:
int i = 0;
for ( i = 0 ; i < n ; i++ )
{
}
Run Code Online (Sandbox Code Playgroud)
和
for ( int i = 0 ; i < n ; i++ )
{
}
Run Code Online (Sandbox Code Playgroud)
也许如果有更多循环并且它们都使用相同的索引?
此外,第一个版本相当于:
int i = 0;
for ( ; i < n ; i++ )
{
}
Run Code Online (Sandbox Code Playgroud)
我知道优化器应该足够智能,至少可以生成相同的代码,但理论上是否存在任何差异?
在第一种和第三种情况下,范围int i超出了for循环.在第二种情况下,范围是for循环,i如果您想稍后使用它,则必须重新声明.
是的,只有当你没有在前两行之间放置任何东西时,第一个版本才相当于第三个版本.如果你在其间添加一些代码,那么所有的赌注都会关闭.
| 归档时间: |
|
| 查看次数: |
1185 次 |
| 最近记录: |