我正在使用 ATL 在 C++ 中编写 COM 对象,但不确定是否应该为我的方法/属性使用 VARIANT_BOOL
。该对象将由其他 C++ 应用程序调用,但我不能排除 .NET 的使用。
我可以坚持使用旧的 BOOL
(IIRC 只是一个无符号整数)但是因为 VARIANT_BOOL
在那里,我不应该使用它吗?如果我确实使用它,并从 C++ 应用程序调用这些方法,我必须添加额外的代码,因为 VARIANT_BOOL
不像“普通” bool 值,我必须检查 VARIANT_TRUE
和 VARIANT_FALSE
值。
VARIANT_BOOL
是我可以忘记的时代错误还是我应该坚持使用它?
最佳答案
VARIANT_BOOL 将使您的 COM 组件对 VB6 友好。 COM 似乎从来都不是为了在 C++ 中简单地做事而设计的,而是更专注于使其易于在 VB 中使用。不确定这是否仍然适用于 COM 组件的 .net 访问。
关于c++ - VARIANT_BOOL 与 BOOL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/300027/