re: COM思想的背后 永遇樂 2013-07-22 09:25
微軟通過修改VC編譯器(提供新的關鍵字),讓C++的對象之間擁了有一定的通信能力,這里面關鍵的就是這個iid,通過iid可以在運行時獲取某個對象的成員函數指針,然后調用之,這就相當于對象與對象之間通信了。
這也達到了Object C中對象之間通信的效果(一個對象A給另一個對象B發消息M,B收到消息M后,能處理就處理,不能處理就算了)。
而在COM中,A對象要先看B對象能不能處理消息M,即A先查一下,B對象有沒有處理M消息的那個成員函數HandleM() (即B對象中有沒有哪個接口中有HandleM()方法),如果有(查到了),則調用HandleM(M)。沒查到嘛,當然就算了。
re: XP之后Windows的一些變化 永遇樂 2013-07-18 14:06
學習了,希望能早點進入到win7平臺上編程。等到2014年,微軟不再管xp后,估計公司才會使用win7
等C++語法支持concept了,就能更自然地造出interface了
我試過了,還是不行啊。
比如:
vector<int> v;
v.at(0);//這種異常就捕獲不到啊