程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 內聯函數與虛函數,內聯函數函數

內聯函數與虛函數,內聯函數函數

編輯:C++入門知識

內聯函數與虛函數,內聯函數函數


如果函數已經被聲明為inline, 內聯函數已經在編譯期間它的調用點上就被展開;

而虛擬函數調用的決定則要等到運行時刻在執行程序內部的每個調用點上系統根據被調用對象的實際基類或派生類的類型來決定選擇哪一個虛擬函數實例.

 

內聯不是強制性的,你只是向編譯器提出這個建議,允許它在可以內聯的時候采取內聯形式。
而虛函數本身就是一個函數,只是在多態的情況下,它要到執行時才能確定調用的函數,所以這樣的特性阻止了虛函數的內聯。
但,要注意,只是在多態的情況下(多態不用我解釋吧)。如果是靜態的調用,編譯器還是會采用內聯的形式的。
對於虛函數,內聯可能是不成功的。但語言規則上,決沒有說虛函數就不能定義在類內部,或用inline修飾。只是多半這樣的修飾不產生作用而已。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved