トップページ > 記事閲覧
trueとTRUEの違いについて
名前:sereparu 日時: 2017/07/22 02:41

現在、VisualStudio2017CommunityのVC++でソースを書いています。 bool型の変数にtrue、falseを代入してフラグとして使用していますが その変数をDxLibの関数の引数(例えばDrawBoxのFillFlagなど)に渡しても問題ないでしょうか? DxLibのソース内では大文字のTRUEやFALSEが使われていたので、大文字に統一すべきなのかな、と思ったのですが bool型のtrue、falseは標準で使用できるので、できれば自分が書くソースではbool型を使用したいと思っています。 trueとTRUEが混在すると、どう影響が出るか、以下のような確認をしました。 ・「bool flag = true;」という変数を作り「a == TRUE」を比較したら「真」になりました。 ・「bool flag = false;」という変数を作り「a == FALSE」を比較したら「真」になりました。 上記の結果を見ると、bool型の変数にtrueかfalseしか使わない前提であれば DXライブラリの引数にbool型を渡しても問題ないように思いますが 他に注意すべき点はあるでしょうか? DXライブラリ以前の、C++の根本的な話かもしれませんが、ご回答お願い致します。
メンテ

Page: 1 |

Re: trueとTRUEの違いについて ( No.1 )
名前:s8079 日時:2017/07/23 00:35

bool型とBOOL型は微妙に違います. bool型はtrueかfalseの値をとるboolean型(1byte)です. 対して,BOOL型はTRUEかFALSEの値をとるint型(4byte)です. 一般的に,TRUEは0以外の値,FALSEは0を意味します. VisualStudioをお使いでしたら,TRUEは1と定義されているはずです. C++のbool型はC言語との互換性のため,Javaのboolean型ほど独立していません. ですので,どちらを用いても問題はないかと思われます. 私の場合,DxLibの関数にはBOOL型を渡すようにしています.
メンテ
Re: trueとTRUEの違いについて ( No.2 )
名前:管理人 日時:2017/07/23 02:01

とりあえず Windows用アプリでしたら TRUE, FALSE の代わりに true, false を使用されても問題ありません ただ、s8079さんも仰られていますが TRUE, FALSE と true, false は同じものではないので、厳密には 『今後もずっと、どんな環境になっても TRUE, FALSE の代わりに true, false を使用しても問題ないと断言することはできない』 という感じです もし心配でしたら念の為 TRUE, FALSE を使用するようにしてください m(_ _)m
メンテ
Re: trueとTRUEの違いについて ( No.3 )
名前:sereparu_解決 日時:2017/07/23 10:37

s8079さん、管理人さん、ご回答ありがとうございます。 念のためにフラグにはBOOL型を使い、TRUE、FALSEに全て統一しようと思います。
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存