完蛋,我的幾個對象吵起來了···















































面向對象編程語言,都繞不開的話題是類和對象。對象都有類型,這在源代碼級別都好理解,但如何能在運行的時候也能知道類型呢?
C++ 作為靜態(tài)編譯型語言,對運行時類型識別RTTI的支持最弱,只能看到一個簡單的名字,C++標準并沒有規(guī)定RTTI信息的具體實現(xiàn)方式,交給各大編譯器自己發(fā)揮。
Java同樣作為編譯型語言,實現(xiàn)了完整的反射機制,不僅作為信息獲取,還能根據(jù)這些信息動態(tài)創(chuàng)建對象,修改訪問屬性等等。由于反射的支持,Java才有了Spring、MyBatis等各種功能強大的框架。
Python作為解釋執(zhí)行的腳本語言,其抽象的層次更高,類型信息更加豐富,動態(tài)創(chuàng)建、甚至新增、刪除屬性和方法都不在話下。
不過聽說C++23可能會引入全新的反射特性,不知道是什么樣子的呢?你怎么看?如果C++也有反射,你會用來做什么呢?
評論
圖片
表情
