そうではなくて、独自規格から始まったものが後日改変されて、正しく定義され規格化された場合、その日以後の新プロジェクトはその規格に従ってくれという事。(例外もあるだろうが)
当初true/falseという物はなかったが のちのちC++などのために定義された その定義の中には if(false){がelse節になるという自明の理が含まれている。
であるならば、falseという名前を含んだものがifでthen節になるルールを、後発規格ができたあとに作るな。という事。
そういうものが必要であるならば、ON/OFFであるとかActive/Inactiveであるとか、命名規則が矛盾しないルールを作って、規格化されたルールとまぎらわしい、ルールを作るのは、誤用の観点から、なぜ、そんな事をするのか?害悪じゃないのか?という事。
なぜならば、後発規格で定義された標準仕様に反するから、新規参入メンバーが混乱し、同一視した結果、意図しない潜在バグが発生するおそれもあり、教育コストの面からのデメリットしか無く、経済的メリットが挙げられない。コンパチビリティーで先発規格に合わせるのは除外して。(MS定義のFALSEなど、旧システムのfalseは仕方がない)
同様に int,short,long の定義は short<long でありint は適宜最適な長さ という意味なので my_longなどを独自定義せずに 4バイトが欲しいならDWORD(先発規格)かint32_tを定義するか使え</p>
いつまで、my_longを定義しているんだ!いい加減 規格に対応しろ という事。
10頃ライブラリを呼び出します。lib1_true lib2_true lib3_true lib4_true ・・・・ lib1がtrueだったときにlib2にtrueを渡して・・・その結果をlib3に・・・載せ替えて・・・ってどんだけ、コンパチの確認を目視でしなきゃならんのだと・・・。
各個人、各会社で独自仕様でしかも、C/C++の規格と紛らわしいとか、やめてくれ。可能なかぎりC/C++の規格で使えるものは使ってくれよ。と
それは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値を独自定義するなと言いたかったのだろうけれど。 そうではなくて、独自規格から始まったものが後日改変されて、正しく定義され規...