do{}while(flag) と while(true){ if(!flag) break;} なにがちがうのか? ものすごい単純に言うと 前者はIFがflagしかないが 後者はtrue判定とflag判定と2つあるため 厳密に言うと 後者のほうが2倍...
そんなことより前判定と後判定だから最低試行回数が違う
それな 難しいところがそこでwhile(true)は 絶対に成功するので そもそも判定せずに GOTO命令に内部で置き換えるために 判定しないんだなぁこれがという
それは単にオプティマイザによるじゃん ソースレベルの議論になってない
あくまでもC++で考えているが while(true) をgotoに最適化できないコンパイラって、まともに使われているやつであるの? インタプリタならわかるけどコンパイラだよねぇ? というか、一...
抽象化されたソースからオーダを議論するのにオプティマイズのレベルを混ぜるのって頭悪そう