我正在处理一个包含一些用C ++编写的COM / Automation内容的项目。我知道MFC / ATL有一个漂亮的CComVariant class来处理VARIANT初始化,但仅仅是从"纯粹"的角度来看。 VARIANT,我知道以下是推荐它的方法:
VARIANT v;
::VariantInit(&v);
但我想通过阅读说明VariantInit,我可以这样做吗?
VARIANT v = {0};
答案 0 :(得分:2)
正如您所发现的那样,VariantInit
只需将vt
成员设置为VT_EMPTY
。它不会将联合内容归零,因为VT_EMPTY
被解释为没有数据。您可以使用任何其他方法将vt
设置为VT_EMPTY
,这很好,但标准和正确的方式是使用VariantInit
。