綾小路龍之介の素人思考

多重if文

世の中にはいまだにキャラクタ端末で作業をしている人がいるわけで。多重ifがあるとインデントで実際の実行内容がものすごい深い場所に行ってしまう場合がある。これを機械語で見てみたいね。

if(a==0){
        if(b==0){
                function(a,b);
        }
}

これを

if(a==0 && b==0){
        function(a,b);
}

のようにすると、インデントが深くならずにすんでいい感じ。また、

if(a==0){
        if(b==0){
                function_1(a,b);
        } else {
                function_2(a,b);
        }
}

のようなものは、

if(a==0 && b==0){
        function_1(a,b);
}
if(a==0 && b!=0){
        function_2(a,b);
}

のようにすると等価のように見えるけど、実際はa==0の判定条件を2回評価するので非効率。

ソーシャルブックマーク

  1. はてなブックマーク
  2. Google Bookmarks
  3. del.icio.us

ChangeLog

  1. Posted: 2007-07-12T06:45:50+09:00
  2. Modified: 2007-07-12T03:54:24+09:00
  3. Generated: 2017-01-05T23:09:38+09:00