我正在使用ATL在C ++中编写COM对象,我不确定是否应该使用VARIANT_BOOL
来表示我的方法/属性。该对象将被其他C ++应用程序调用,但我不能排除.NET的使用。
我可以坚持使用旧的BOOL
(IIRC只是一个无符号整数)但是VARIANT_BOOL
就在那里,我不应该使用它吗?如果我使用它,并从C ++应用程序调用这些方法,我必须添加额外的代码,因为VARIANT_BOOL
不像'普通'布尔值,我必须检查VARIANT_TRUE
和{{ 1}}值。
VARIANT_FALSE
是一个我可以忘记的时代错误还是我应该坚持下去?
答案 0 :(得分:2)
VARIANT_BOOL将使您的COM组件VB6友好。 COM似乎从来没有真正用于简单地用C ++做事,而是更专注于使它易于从VB中使用。不确定这是否仍然适用于COM组件的.net访问。