在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循环控制变量的情况下?