第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何向C+應用程序添加反射?

如何向C+應用程序添加反射?

C++ C
繁花不似錦 2019-06-06 15:01:36
如何向C+應用程序添加反射?我希望能夠?qū)+類的名稱、內(nèi)容(即成員及其類型)進行反思。我說的是本地C+,而不是托管C+,它有反射。我知道C+使用RTTI提供了一些有限的信息。哪些額外的庫(或其他技術)可以提供這些信息?
查看完整描述

3 回答

?
呼啦一陣風

TA貢獻1802條經(jīng)驗 獲得超6個贊

有兩種reflection游來游去。

  1. 通過對類型的成員進行迭代、枚舉其方法等方式進行檢查。



    這在C+中是不可能的。
  2. 通過檢查類型(類、結(jié)構、聯(lián)合)是否有方法或嵌套類型,檢查是否來自另一種特定類型。



    這種情況在C+中使用是可能的。

    template-tricks

    ..使用

    boost::type_traits

    對于許多事情(比如檢查類型是否是整型)。若要檢查成員函數(shù)是否存在,請使用

    是否可以編寫模板來檢查函數(shù)的存在?

    ..若要檢查是否存在某種嵌套類型,請使用“普通”。

    SFINAE .

如果您正在尋找實現(xiàn)1)的方法,比如查看一個類有多少個方法,或者像獲取一個類id的字符串表示形式,那么恐怕沒有標準C+方法可以做到這一點。你必須用任何一種

  • MetaCompiler類似于QTMetaObjectCompiler,它翻譯您的代碼,添加額外的元信息。
  • 宏的框架結(jié)構,允許您添加所需的元信息。您需要告訴框架的所有方法、類名、基類和它需要的一切。

C+是以速度為核心的。如果您想要像C#或Java那樣的高級檢查,那么恐怕我必須告訴您,如果不付出一定的努力,就沒有辦法。


查看完整回答
反對 回復 2019-06-06
?
湖上湖

TA貢獻2003條經(jīng)驗 獲得超2個贊

我很想要一匹小馬,但小馬并不是免費的。-p

http:/en.wikibooks.org/wiki/C%2B%2B_Programming/RTTI你會得到的。反射就像你正在考慮的-運行時可用的完全描述性元數(shù)據(jù)-只是默認情況下C+不存在。


查看完整回答
反對 回復 2019-06-06
  • 3 回答
  • 0 關注
  • 669 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號