正确的VARIANT初始化

时间:2014-05-07 19:29:35

标签: c++ com mfc automation variant

我正在处理一个包含一些用C ++编写的COM / Automation内容的项目。我知道MFC / ATL有一个漂亮的CComVariant class来处理VARIANT初始化,但仅仅是从"纯粹"的角度来看。 VARIANT,我知道以下是推荐它的方法:

VARIANT v;
::VariantInit(&v);

但我想通过阅读说明VariantInit,我可以这样做吗?

VARIANT v = {0};

1 个答案:

答案 0 :(得分:2)

正如您所发现的那样,VariantInit只需将vt成员设置为VT_EMPTY。它不会将联合内容归零,因为VT_EMPTY被解释为没有数据。您可以使用任何其他方法将vt设置为VT_EMPTY,这很好,但标准正确的方式是使用VariantInit