神戸です。

On Fri, 11 Mar 2005 22:49:49 +0900, IIJIMA Hiromitsu 
<delmonta@ht.sakura.ne.jp> wrote:
> いいじまです。
>> > return ((n<1||n>12)?name[0]:name[n]);
>> > 私なら通常はif文で書きますけど(例外:式しか書けない場所)、
>> > 皆さんはこういうコードは書きます?
> あはは。書き忘れていましたけど、name[] は
>    char *name[13] = {"", "Jan", "Feb", "Mar", "Apr", "May", "Jun",
>            "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
> のように初期化されています。だから12でいいんです。

nは月コードみたいですが、
この配列のように月の値が未定などの特殊値がnにあるなら
このreturnに到達する前nの設定のときにnに0をキッチリ設定した上で
0を範囲内に含めて考え、
範囲外かどうかの検査にはassert()や動的なエラー処理コードを書いたほうがいいような…。

/* C++の場合、動的に異常が起こりうるコードなら例外を投げるかも。*/

/* C/C++の列挙型がもうちょっと使える仕様だとよかったんですけどね。 Java 1.5 "Tiger"の列挙型の説明読んでて思いました。 
後知恵の類ではありますが。*/

/* 三項演算子によって式内で条件判定ができ、定数式にもなるという性質は
C++のテンプレート・メタ・プログラミングで重宝してます。 */

-- 
http://www.nerimadors.or.jp/~kando/
kando@nerimadors.or.jp
kando_takayuki@hotmail.com : MSN Messenger