読者です 読者をやめる 読者になる 読者になる

はむはむエンジニアぶろぐ

このブログのコンセプトは"ハッキングの為なら愛する家族を傷つけることをいとわない" 自分にとってエンジニアリングは "手段ではなく生きる目的" である

三項演算子を利用した代入処理のショートコードテクニック

f:id:secret_hamuhamu:20150423012732j:plain

三項演算子を活用することで、以下の様な分岐処理を含んだ代入処理を1行で書くことができます。

    if (x == 0) {
        a = a + 2;
    } else {
        a = a + 3;
    }

サンプルコード

C言語です。
コードは、たったこれだけ。

    x == 0 ? a+=2 : (a+=3);

間違いなく、会社で書くコードでは使えないw
可読性が低いですね。

三項演算子の書式は 条件式 ? 式1 : 式2 ですが、式の中で代入をしています。
式1では () を省略できるのですが、式2では () を省略できません。

なので、このように書いてしまうとエラーになります。

    x == 0 ? a+=2 : a+=3;

今回は、こんな書き方もできるよという紹介でした。

おすすめの本

プログラミングコンテストチャレンジブック [第2版] ?問題解決のアルゴリズム活用力とコーディングテクニックを鍛える?

プログラミングコンテストチャレンジブック [第2版] ?問題解決のアルゴリズム活用力とコーディングテクニックを鍛える?

プログラミングコンテスト攻略のためのアルゴリズムとデータ構造

プログラミングコンテスト攻略のためのアルゴリズムとデータ構造

最強最速アルゴリズマー養成講座 プログラミングコンテストTopCoder攻略ガイド

最強最速アルゴリズマー養成講座 プログラミングコンテストTopCoder攻略ガイド