sha*_*oth 9 c++ loops for-loop const
在C++中,允许在for循环中更改循环变量:
for( int i = 0; i < limit; i++ ) {
if( condition ) {
i--;
}
}
Run Code Online (Sandbox Code Playgroud)
现在,如果循环体相当复杂,那么对于读取器来说,循环变量是否在循环体内是否发生变化并不是很明显.以某种方式调整代码是很好的,这样一旦读者只看到for-loop头,他就会立即知道循环变量在体内没有改变.
例如,如果我使用const:
const int value = computeValue();
//lots of code here
Run Code Online (Sandbox Code Playgroud)
那么很明显,无论代码写在const变量定义下面,变量都是不变的.
有没有办法实现类似的东西 - 迭代中的逻辑常量 - 在C++中的for循环控制变量的情况下?
没有逻辑结构来强制执行这一点。如果将 \xe2\x80\x98const int idx = i\xe2\x80\x98 作为循环中的第一条语句,然后仅使用 \xe2\x80\x98idx\xe2\x80\x98,你也许能够实现类似的强制执行,但失去了一些清晰度。否则,只需使用注释即可。
\n| 归档时间: |
|
| 查看次数: |
3089 次 |
| 最近记录: |