百科游戏 手游攻略
大家好,今天小编来为大家解答colevariant这个问题,COleVariant 具体如何用,有什么功能很多人还不知道,现在让我们一起来看看吧!
COleVariant 具体如何用,有什么功能
COleVariant类是对VARIANT结构的封装。
VARIANT结构包含两部分。其一是VARTYPE型的成员变量vt;其二是个联合类型,这个联合包含了VC常用的几乎所有类型。因为联合用的是相同的存储空间,因此对联合的内容的解释依赖于vt。
例如,
若vt的值是VT_UI2,说明该联合被解释为shortint.并使用成员变量名iVal。
若vt的的值是VT_BSTR,说明该联合被解释为BSTR类型。并使用成员变量名bstrVal。
若vt的的值是VT_BSTR|VT_BYREF,说明该联合被解释为BSTR型指针。并使用成员变量名pbstrVal。
它的构造函数具有极为强大的功能,当对象构造时首先调用VariantInit进行初始化,然后根据参数中的标准类型调用相应的构造函数,并使用VariantCopy进行转换赋值操作,当VARIANT对象不在有效范围时,它的析构函数就会被自动调用,由于析构函数调用了VariantClear,因而相应的内存就会被自动清除。除此之外,COleVariant的赋值操作符在与VARIANT类型转换中为我们提供极大的方便。
ColeVariant需要引用那个头文件mfc问题
ColeVariant需要引用#include
细节如下:
COleVariant类是对VARIANT结构的封装。
VARIANT结构包含两部分。其一是VARTYPE型的成员变量vt;其二是个联合类型,这个联合包含了VC常用的几乎所有类型。因为联合用的是相同的存储空间,因此对联合的内容的解释依赖于vt。
COleVariant本质上是一个枚举,用同一种类型来表达不同的子类型。如同boost中的variant。
COleVariant是什么数据类型
用于ole自动化的VARRANT类型,可以用于存储多种格式
COleVariant类通逢装了VARIANT结构。实际的数据就在VARIANT结构中。
VARIANT结构包含两部分。其一是VARTYPE型的成员变量vt;其二是个联合类型,这个联合包含了VC常用的几乎所有类型。因为联合用的是相同的存储空间,因此对联合的内容的解释依赖于vt。
例如,
若vt的值是VT_UI2,说明该联合被解释为shortint.并使用成员变量名iVal。
若vt的的值是VT_BSTR,说明该联合被解释为BSTR类型。并使用成员变量名bstrVal。
若vt的的值是VT_BSTR|VT_BYREF,说明该联合被解释为BSTR型指针。并使用成员变量名pbstrVal
Example:
------------------
VARIANTva;
::VariantInit(&va);//初始化
inta=2002;
va.vt=VT_I4;//指明long数据类型
va.lVal=a;//赋值
--------------------------------
为了方便处理VARIANT类型的变量,Windows还提供了这样一些非常有用的函数:
VariantInit——将变量初始化为VT_EMPTY;
VariantClear——消除并初始化VARIANT;
VariantChangeType——改变VARIANT的类型;
VariantCopy——释放与目标VARIANT相连的内存并复制源VARIANT。
好了,文章到此结束,希望可以帮助到大家。
- 最近发表