アカウント名:
パスワード:
while( 1){ if( 国民不満> しきい値){ 反日行為() } sleep( 100) }
* 括弧の付け方がキモい* 何の言語?* C++なら(セミコロンの件を除いても)未定義動作
なんか正しいコードに思えてきた
> * C++なら(セミコロンの件を除いても)未定義動作
どこが未定義なんでしょうか?
例えばvoid hoge();while(1){ hoge();}というソースコードを与えると、C++のコンパイラは hoge()という関数を無限にコールし続けるコードを出力します。
C++のコンパイラは void hoge() がどういう処理をするかわからない(副作用が予想できない)のでソースコードを最適化せずに、律儀に無限ループとなるコードを生成します。
同じ理由で C++でなくても大抵の言語で未定義動作なんてことにはならないでしょう。
コンパイラとかいう処理系のどうさを出すのに規格とか言わないでほしい。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
日々是ハック也 -- あるハードコアバイナリアン
deep である必要があるのかな (スコア:0, すばらしい洞察)
while( 1){
if( 国民不満> しきい値){
反日行為()
}
sleep( 100)
}
Re: (スコア:0)
* 括弧の付け方がキモい
* 何の言語?
* C++なら(セミコロンの件を除いても)未定義動作
なんか正しいコードに思えてきた
Re:deep である必要があるのかな (スコア:0)
> * C++なら(セミコロンの件を除いても)未定義動作
どこが未定義なんでしょうか?
例えば
void hoge();
while(1){
hoge();
}
というソースコードを与えると、C++のコンパイラは hoge()という関数を無限にコールし続けるコードを出力します。
C++のコンパイラは void hoge() がどういう処理をするかわからない(副作用が予想できない)ので
ソースコードを最適化せずに、律儀に無限ループとなるコードを生成します。
同じ理由で C++でなくても大抵の言語で未定義動作なんてことにはならないでしょう。
Re: (スコア:0)
コンパイラとかいう処理系のどうさを出すのに規格とか言わないでほしい。