雜七雜八
最近在學習中,看到了一段很詭異的代碼。
對此很是疑惑,為什么兩個完全不同的類型可以無差別的轉換。猜測1:認為IDispatch重載了賦值操作符。0.1秒的時間否定。他只是一個接口,定義很明確的4的方法。不可能。由于不相信,還特意去看了一下他的接口定義。徹底死心。猜測2.CComptr<IDispatch>重載了賦值操作符。但是想來想去應該和他的重載沒有關系,因為這個操作在他的左邊,和他的賦值操作符全然沒有關系。不信之,進去看了一下,并且把重載給注釋掉,結果還是能編譯成功,徹底確信不是賦值的作用。真相:終于拿出殺手锏,F11,單步,哈哈,進去發現原來有:
這段代碼。哈哈。。問了大牛知道是重載強制轉換。哈哈。縱欲知道原因了。。。自己也模仿寫了一下:
編譯成功,爽。。。。
posted on 2009-07-28 20:03 shongbee2 閱讀(1111) 評論(2) 編輯 收藏 引用 所屬分類: c/c++
的確詭異,原來類型轉換的重載有點特殊,學習了!! 回復 更多評論
@Sunshine Alike 哈哈,我也是剛知道的。。 回復 更多評論
Powered by: C++博客 Copyright © shongbee2