剛剛,我的幾個對象吵起來了···
點(diǎn)擊上方“程序員大白”,選擇“星標(biāo)”公眾號
重磅干貨,第一時間送達(dá)
















































面向?qū)ο缶幊陶Z言,都繞不開的話題是類和對象。對象都有類型,這在源代碼級別都好理解,但如何能在運(yùn)行的時候也能知道類型呢?
C++ 作為靜態(tài)編譯型語言,對運(yùn)行時類型識別RTTI的支持最弱,只能看到一個簡單的名字,C++標(biāo)準(zhǔn)并沒有規(guī)定RTTI信息的具體實(shí)現(xiàn)方式,交給各大編譯器自己發(fā)揮。
Java同樣作為編譯型語言,實(shí)現(xiàn)了完整的反射機(jī)制,不僅作為信息獲取,還能根據(jù)這些信息動態(tài)創(chuàng)建對象,修改訪問屬性等等。由于反射的支持,Java才有了Spring、MyBatis等各種功能強(qiáng)大的框架。
Python作為解釋執(zhí)行的腳本語言,其抽象的層次更高,類型信息更加豐富,動態(tài)創(chuàng)建、甚至新增、刪除屬性和方法都不在話下。
不過聽說C++23可能會引入全新的反射特性,不知道是什么樣子的呢?你怎么看?如果C++也有反射,你會用來做什么呢?
推薦閱讀
國產(chǎn)小眾瀏覽器因屏蔽視頻廣告,被索賠100萬(后續(xù))
年輕人“不講武德”:因看黃片上癮,把網(wǎng)站和786名女主播起訴了
關(guān)于程序員大白
程序員大白是一群哈工大,東北大學(xué),西湖大學(xué)和上海交通大學(xué)的碩士博士運(yùn)營維護(hù)的號,大家樂于分享高質(zhì)量文章,喜歡總結(jié)知識,歡迎關(guān)注[程序員大白],大家一起學(xué)習(xí)進(jìn)步!
評論
圖片
表情
