wxWidgets:运行时类型信息 (RTTI)
wxWidgets:運(yùn)行時(shí)類型信息 (RTTI)
- wxWidgets:運(yùn)行時(shí)類型信息 (RTTI)
- 類信息
- RTTI例子
wxWidgets:運(yùn)行時(shí)類型信息 (RTTI)
C++ 的一個(gè)缺點(diǎn)曾經(jīng)是沒有提供關(guān)于類及其在繼承層次結(jié)構(gòu)中的位置的運(yùn)行時(shí)信息。
另一個(gè)仍然存在的問題是,不能僅通過知道類的名稱來創(chuàng)建類的實(shí)例,這使得諸如持久存儲(chǔ)之類的設(shè)施難以實(shí)現(xiàn)。
大多數(shù) C++ GUI 框架通過一組宏和函數(shù)克服了這些限制,wxWidgets 也不例外。由于它起源于將 RTTI 添加到 C++ 標(biāo)準(zhǔn)之前,并且由于一些(盡管是舊的)編譯器仍然缺少對(duì)它的支持,wxWidgets(還)不使用它,但提供了自己的基于宏的 RTTI 系統(tǒng)。
將來,將使用標(biāo)準(zhǔn)的 C++ RTTI,并且鼓勵(lì)您盡可能使用 wxDynamicCast 宏,對(duì)于支持它的實(shí)現(xiàn),它被定義為 dynamic_cast 并為所有其他人使用 wxWidgets RTTI。這個(gè)宏僅限于 wxWidgets 類,并且只適用于指針(不像真正的 dynamic_cast 也接受引用)。
您希望類型系統(tǒng)知道的每個(gè)類都應(yīng)該在類聲明中包含一個(gè)宏,例如 wxDECLARE_DYNAMIC_CLASS。宏 wxIMPLEMENT_DYNAMIC_CL
總結(jié)
以上是生活随笔為你收集整理的wxWidgets:运行时类型信息 (RTTI)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么将系统盘改为C盘 如何更改系统盘为C
- 下一篇: wxWidgets:引用计数