使用 COM 时,布尔值将作为 VARIANT_BOOL 传递,在 wtypes.h 中声明为short。true和false也有预定义的值:
#define VARIANT_TRUE ((VARIANT_BOOL)-1)
#define VARIANT_FALSE ((VARIANT_BOOL)0)
从 VARIANT_BOOL 转换为 C++bool
类型的最佳方法是什么?明显的变体是:
与 VARIANT_FALSE 比较
简单地转换为布尔
可以很容易地发明其他方法。
最好的方法是什么——最易读、最符合标准、最不容易出现意外错误植入以及最不容易出现移植到 64 位平台的问题?