虛函式可不可以是內聯函式

2021-09-09 02:49:39 字數 412 閱讀 5526

內聯函式不能為虛函式,原因在於虛表機制需要乙個真正的函式位址,而內聯函式展開以後,就不是乙個函式,而是一段簡單的**(多數c++物件模型使用虛表實現多型,對此標準提供支援),可能有些內聯函式會無法內聯展開,而編譯成為函式。

class foo ;

class child: public foo;

inline

void foo::vfunc() const

輸出為child!即使虛函式是內聯函式仍然正確的動態繫結!

原因是:即使虛函式被宣告為內聯函式,編譯器遇到這種情況根本不會把這樣的函式內聯展開,而是當做普通函式來處理。

   建構函式肯定不能作為虛函式。虛函式是為了在繼承的類裡面用同樣的函式名來實現rtti的。建構函式不需要也不可能讓你rtti!(子類名不可能與父類名相同)

可不可以不勇敢

累了,可以放鬆放鬆 每一次我都說 沒事,我行 我總帶著堅強的微笑 一副永遠勇敢的樣子 可這一次 我想說 我可不可以不勇敢 我只是小心翼翼的問了自己 然後又帶著堅強的表情 勇敢了一次 他們都讚許的微笑了 夜幕低垂 風起的時候 我只想輕輕的問 你可不可以想我 一如我千萬次的想你 我從不欺盼 我的問題得到...

可不可以不寂寞

連續幾個夜晚 乙個人晃著一盞燈 也不知道在做些什麼 就是不要睡覺 因為害怕自己 倒在夢裡 就不願 醒來了.我知道我是沉迷與了自己乖張的情緒 渴望寂寞給我更多思考的空間 卻軟弱的失去了自我 反而被黑夜下的寂寞給吞噬掉了 真正可怕的 就是這種讓內心都充滿無所適從感覺的寂寞 我不害怕形單影隻 我不憂慮總是...

aden 可不可以(變數)

import turtle turtle 工具包 python自帶,第三方工具包,我們自己寫的工具包 變數 改變會變化的量,相當於裝資料的盒子 變數名 盒子的名字 變數名的規則 1。數字,字母,下劃線任意組成 2。不能有標點符號,數字不能作為開頭 a b 3 a.bbbbbbb 3abc 哈佛 法無...