Когда я компилирую код C ++ с Visual C ++ 9 с «уровнем предупреждения 4», следующее:
while( true ) {
//loop body with break on certain condition
}
и следующее:
for( ; true; ) {
//same loop body
}
оба триггера C4127: условное выражение является константой
предупреждение, но следующее:
for( ; ; ) {
//same loop body
}
компилируется без предупреждения.
Почему эта разница, особенно между вторым и третьим вариантом?