_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
最新文章
- Ubuntu 14.04 更换阿里云源
- 用cookie记住用户名
- using关键字的用法
- CODE VS1008选数
- Apache轻量级性能测试工具
- [ROS] slam_gmapping
- datatables的Bootstrap样式的分页怎么添加首页和尾页(引)
- undefined index : HTTP_RAW_POST_DATA
- MySQL页面打捞工具使用方法
- (转)MySql可视化工具MySQL Workbench使用教程
- 给大家介绍款在线压缩JS的工具
- Android手机令牌教程
- String和数字之间的转化
- POJ3322-经典的游戏搜索问题
- SpringMVC注解@Component、@Repository、@Service、@Controller区别
- DOM-基本概念及使用
- Android--MP3播放器MediaPlayer
- CS萌新的汇编学习之路(其实是老师作业呵呵哒)Learning of Assembly Language
- Java 获取窗口的宽、高
- unity3d-游戏实战突出重围,第三天 绘制数字
热门文章
- 【csp模拟赛1】T1 心有灵犀
- CF985C
- 手把手教你在Linux系统下安装MySQL
- Linux: Block Port With IPtables
- [MyBatis]向MySql数据库插入一千万条数据 批量插入用时6分 之前时隐时现的异常不见了
- CentOS7设置开机启动方式(图形界面/命令行界面)
- easyUI之表单
- 小D课堂 - 新版本微服务springcloud+Docker教程_3-04 SpringCloud微服务核心组件Eureka介绍和闭源后影响
- launchImage设置后在启动时无法显示
- rocksdb wiki文档阅读笔记