4

このコンストラクトを介して C++ bool を Windows API BOOL にキャストしても安全ですか?

bool mybool = true;
BOOL apiboolean = mybool ? TRUE : FALSE;

明らかな問題は見られないので、これはイエスだと思いますが、見た目よりも微妙かもしれないという理由だけで、少し時間をとって質問したかったのです。

私が最初に質問を表現した方法で私の不注意を(穏やかに)指摘してくれたDimaに感謝します.

4

3 に答える 3

10

ということですか


bool b;
...
BOOL apiboolean = b ? TRUE : FALSE;

もしそうなら、はい、これはうまくいきます。

于 2008-11-05T19:43:26.527 に答える
3

はい、それは機能しますが

bool b;
...
BOOL apiboolean = (BOOL) b;

逆の場合と同様に、同様に機能するはずです。

bool bb = (bool) apiboolean;
于 2008-11-05T20:12:54.907 に答える
1

Visual Studio 2005 は以下を受け入れます。

bool b = true;
BOOL apiboolean = b;

鋳造は必要ありません

逆に BOOL->bool が単純にこのように機能しないことに注意してください。

于 2011-01-31T16:39:31.907 に答える