Here我正在討論空基類優化和MSalters使這個有趣的評論:
無級永遠不會有 的sizeof(類)== 0,空。 但是 我們正在專門討論空基類子對象的 大小。 它不需要它自己的虛表,也不需要一個 虛表指針。假設在偏移量爲 0處的vtable指針的佈局是共同的 ;這會導致零大小的 基類子對象與派生類共享其 vtable指針。 沒問題:無論如何這些應該是相同的 ,這幾乎是虛擬功能的點 。
我的問題具體是這樣的:編譯器可以優化當我們使用空類作爲基類,或者它可能不會。我們如何確定它實際上做了什麼?
一般來說,我們如何知道基類子對象的大小?無論我們是否將它用作基礎,Base Base子對象的大小是否相同?編譯器是否僅使用空基類進行優化?
。