[英]Are virtual tables part of the C++ standard?
我正在閱讀有關C ++中后期綁定多態性的實現,並且我了解了虛擬表和虛擬指針。
然后我搜索了C ++標准( ISO / IEC 14882:2011 ),以獲得有關如何實現此行為的更多信息。
不幸的是,除了§10.3中虛函數的定義之外,我發現這個大規模標准沒有任何相關性 ,所以我認為__vptr
的概念是由GCC使用的,但可以用不同的方式實現。
是否有標准或論文描述了如何實施虛擬方法?
不,它們沒有被標准定義。 它們是實現概念,而不是堆棧或堆 。
該標准有助於允許以某種方式執行多態,例如, class
的第一個成員變量的地址不需要是該類的實例的地址,如果該類是多態類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.