C/Cpp / 虚函数是否可以用 inline 修饰
生活随笔
收集整理的這篇文章主要介紹了
C/Cpp / 虚函数是否可以用 inline 修饰
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
答案
可以。
但是 ...... inline 修飾虛函數(shù)不是所有情況均可以生效的,必須滿足以下兩點(diǎn):
-
虛函數(shù)被當(dāng)做普通函數(shù)調(diào)用。
通過對(duì)象調(diào)用則是將虛函數(shù)當(dāng)做普通函數(shù)調(diào)用;
若通過指針或者應(yīng)用調(diào)用,則將通過多態(tài)調(diào)用虛函數(shù)。
詳情
-
虛函數(shù)體足夠小。
原因
內(nèi)聯(lián)是在編譯期間建議編譯器內(nèi)聯(lián),而虛函數(shù)的多態(tài)性是在運(yùn)行期間。編譯器無法知道運(yùn)行期調(diào)用哪個(gè)代碼,因此虛函數(shù)表現(xiàn)為多態(tài)性時(shí)(運(yùn)行期)不可以內(nèi)聯(lián)。
?
(SAW:Game Over!)
總結(jié)
以上是生活随笔為你收集整理的C/Cpp / 虚函数是否可以用 inline 修饰的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C/Cpp / 虚函数是否可用 stat
- 下一篇: C/Cpp / 模板类中可以使用虚函数吗