程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程綜合問答 >> sdk-RTTI是什麼?MFC和它有什麼關系?

sdk-RTTI是什麼?MFC和它有什麼關系?

編輯:編程綜合問答
RTTI是什麼?MFC和它有什麼關系?

RTTI是什麼呀?和MFC內部機制有什麼關系,請簡要用易懂的語言說說。我新手。

最佳回答:


詳細去看《深入淺出MFC》(網上有電子版,專門有一章講RTTI)
簡單說下,RTTI就是運行時刻類型識別,它和DC&DI(動態創建)組合在一起,目的是為了讓程序在運行的時候(而不是編譯的時候)可以使用編譯的時候不知道類型的代碼。
一個典型的例子就是插件。我們知道,一個程序可以允許第三方編寫插件程序,主程序調用。但是插件的代碼是在主程序已經編寫完成後追加上去的。顯然不能在源代碼中鏈接或者包含的方法去調用。那就需要RTTI/DC/DI。
在現代的編程語言,比如Java、C#中,這些功能靠反射實現,編譯器在編譯代碼的同時,會將類型、方法原形等元數據也寫入程序中。但是C++是一種落後且野蠻的語言,它在語法層面不支持反射。所以微軟通過一些技巧,用宏和晦澀的代碼模擬了這個過程,這些代碼也是MFC的一部分。MFC中這種彌補語言缺陷的技巧有很多,比如消息映射宏、異常處理、序列化等等。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved