通过此构造
,我可以安全地将C ++ bool转换为Windows API BOOLbool mybool = true;
BOOL apiboolean = mybool ? TRUE : FALSE;
我认为这是肯定的,因为我没有看到任何明显的问题,但我想花点时间只是因为这可能比它看起来更微妙。
感谢Dima(温柔地)以我最初提出问题的方式指出了我的疏忽。
答案 0 :(得分:10)
你的意思是
bool b;
...
BOOL apiboolean = b ? TRUE : FALSE;
如果是,那么是的,这将有效。
答案 1 :(得分:3)
是的,那会有效,但是
bool b;
...
BOOL apiboolean = (BOOL) b;
应该也能正常工作,反之亦然:
bool bb = (bool) apiboolean;
答案 2 :(得分:1)
Visual Studio 2005将接受:
bool b = true;
BOOL apiboolean = b;
无需投射。
请注意,BOOL-> bool的另一种方式不仅仅是这样。