質問

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

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

明らかな問題は見られないので、これはイエスだと思いますが、これは見た目よりも微妙かもしれないので、ちょっと質問したいです。

Dimaに、質問を最初に表現した方法で不注意を指摘してくれた(優しく)感謝します。

役に立ちましたか?

解決

という意味ですか


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

もしそうなら、はい、これは動作します。

他のヒント

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

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

逆も同様に機能します:

bool bb = (bool) apiboolean;

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

bool b = true;
BOOL apiboolean = b;

キャスティングは不要

BOOL-> boolの逆の方法は、このように単純に機能するわけではないことに注意してください。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top