2011-01-05

C言語で いまどきfalseを独自 定義している人ってなんだろう

#ifdef XXX

#define false 0

#endif

ならわかる

#ifdef XXX

#define my_false 0

#endif

たいなひとは何がしたいんだろう・・・

後発企画への互換性とか考えないんだろうか・・・

大きなシステムで、独自定義が増えれば増えるほどメンテナンスコストがまして行くのに

my1_false my2_false my3_false なんて・・・増やしても仕方が無いだろ 可読性の上でゴミじゃねこれ・・・

え?falseが0じゃない場合・・・

それこそ コンパイラを治せ級の問題だろ いくらなんでも

古いコーディング規約を守り続けるのはいいんだが世界的な仕様が変わっているんだから追従はしないと駄目だろ。

バージョンアップされないコーディング規約は 害悪 という意味で。

 

あとは、#define False 0

か 意味分からん

#define FALSE 0

は先企画への互換性のために仕方がない

  • 一応書いておくが、組み込みでは意味がある時もある。 回路上の1/0なんてちょっとした改修ですぐに変わるからね。 特定のハードモジュールに対する判定をパッケージとして閉じ込める...

    • それはON/OFFじゃなくて? true/false は真偽値なので if(false){ }else{ } がelse節になる必要がある。 if(local_false){ }else{ } にがthen節なるようなfalseを定義するべきじゃない。 回路の1/0判定について...

      • C言語にTRUE/FALSEなんて仕様ないんですけど。

        • だから、後発企画=C++へのコンパチビリティでしょ? #define false 0 としないで #ifdef XXX #define false 0 #endif とするか? なんで、ifdefで定義そのものをOFFれるかっていうと、まれにfalseを理解...

          • おれは組み込み云々を書いた増田なんだが、もともと「my_false」の話してたよね? そういう独自定義の話でないの? そりゃ組み込みなら普通はON/OFFと表現するが、「#define OFF 0」とかあん...

            • たぶん、元増田さんは、言語仕様としてのBOOL値を独自定義するなと言いたかったのだろうけれど。 やった人が、BOOL値として考えてmy_falseを定義したかどうかは微妙だよね。 むしろmy_false...

              • たぶん、元増田さんは、言語仕様としてのBOOL値を独自定義するなと言いたかったのだろうけれど。 そうではなくて、独自規格から始まったものが後日改変されて、正しく定義され規...

    • 組み込みの世界ってキモイなー 絶対触りたくないな…

      • 組み込みの世界ってキモイなー テスト基盤と実機基盤で判定が逆とか普通にあるし、電圧判定の閾値が違うとかもざら。 テストと実機で同じコードが使えるように、大抵のものは置き...

  • 「いまどき」というならC99だしこうなんだが…。 #include <stdbool.h>int main() { { bool a = false; // 0 bool b = 0; // 0 bool c = true; // 1 bool d = 1; // 1 bool e = 2; // 1 ...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん