杂七杂八
最近在学习中,看到了一段很诡异的代码。
对此很是疑惑,为什么两个完全不同的类型可以无差别的转换。猜测1:认为IDispatch重载了赋值操作符。0.1秒的时间否定。他只是一个接口,定义很明确的4的方法。不可能。由于不相信,还特意去看了一下他的接口定义。彻底死心。猜测2.CComptr<IDispatch>重载了赋值操作符。但是想来想去应该和他的重载没有关系,因为这个操作在他的左边,和他的赋值操作符全然没有关系。不信之,进去看了一下,并且把重载给注释掉,结果还是能编译成功,彻底确信不是赋值的作用。真相:终于拿出杀手锏,F11,单步,哈哈,进去发现原来有:
这段代码。哈哈。。问了大牛知道是重载强制转换。哈哈。纵欲知道原因了。。。自己也模仿写了一下:
编译成功,爽。。。。
posted on 2009-07-28 20:03 shongbee2 阅读(1097) 评论(2) 编辑 收藏 引用 所属分类: c/c++
的确诡异,原来类型转换的重载有点特殊,学习了!! 回复 更多评论
@Sunshine Alike 哈哈,我也是刚知道的。。 回复 更多评论
Powered by: C++博客 Copyright © shongbee2