zoukankan      html  css  js  c++  java
  • _variant_t 与其他数据类型的转换

    在COM中使用的标准类Class如下所示:

      _bstr_t:对BSTR类型进行打包,并提供有用的操作方法;

      _com_error:定义抛出的error对象;

      _com_ptr_t:封装COM接口指针

      _variant_t:对VARIANT类型进行打包,并提供有用的操作和方法;

    一、_variant_t类的简单介绍:

      _variant_t 对象封装了VARIANT数据类型。

      The class manages resoutce allocation and deallocation and makes function  calls to VariantInit and VariantClear as appropriate.

      (1)_variant_t类提供的方法:

        1>构造函数

          _variant_t

          对_variant_t变量初始化调用的是_variant_t的构造函数。我们一般习惯于用一个int型的变量对数字类的变量进行初始化,这对_variant_t变量是不允许的。(原因很简单,_variant_t的构造函数中没有用整型(Int)对其初始化的构造函数)

          可先将整型转化成long,然后再对其进行初始化。

        2>Attach()

          将VARIANT对象附加到_variant_t对象中。

        3>Clear()

          清除封装的VARIANT对象。

        4>Change Type

          将_variant_t对象的类型更改为指示的VARTYPE。

        5>Detach

          从此_variant_t对象中分离封装的VARIANT对象。

        6>SetString

          将一个string赋值给_variant_t对象。

        7>Operators

          赋值操作,给现有的_variant_t对象赋一个新值。

        8>operator ==,!=

          对比两个_variant_t对象是否相等;

        9>Extractors

          从封装的VARIANT对象中提取数据。

      (2)_variant_t的定义:

        _variant_t类封闭了VARIANT数据类型,VARIANT是一个结构体类型,我们可以看一下它的定义。

        

       注意:vt用来存储内部变量(联合体中保存的变量)的类型,联合体用来存储对应类型的值

    二、数据类型转换

       

        转自:https://blog.csdn.net/suyouli/article/details/58594957

            http://c.biancheng.net/view/422.html

  • 相关阅读:
    Java 基础(接口的应用:代理模式 Proxy)
    Appium 环境配置
    破解CCleaner
    数据驱动
    (C语言内存二十)C语言内存泄露(内存丢失)
    (C语言内存十九)C语言野指针以及非法内存操作
    (C语言内存十八)malloc函数背后的实现原理——内存池
    (C语言内存十七)栈溢出攻击的原理是什么?
    (C语言内存十六)C语言动态内存分配
    (C语言内存十五)用一个实例来深入剖析函数进栈出栈的过程
  • 原文地址:https://www.cnblogs.com/wjq13752525588/p/11489867.html
Copyright © 2011-2022 走看看