天天看點

C++中内置函數

内置函數

調用函數時需要一定的時間和空間的開銷。一般,函數調用包括5部分:1、程式先執行函數調用之前的語句;2、流程的控制轉移到被調用函數的入口處,同時進行參數傳遞;3、執行被調用函數中函數體的語句;4、流程傳回調用函數的下一條指令處,将函數傳回值帶回;5、接着執行主調函數中未執行的語句。這就要求在轉到被調用函數之前,要記下當時執行的指令位址,還要保護“現場”,以便在函數調用之後繼續執行。在函數調用之後繼續執行。在函數調用之後,流程繼續傳回到先前記下的位址處,并且根據記下的資訊“回複現場”,然後繼續執行。這些都需要話費一定的時間,如果有的函數需要頻繁使用,則所用時間會很長,進而降低了程式執行的效率。C++中提供了一種高效率的方法,即在編譯時将所調用函數的代碼嵌入到主調函數中,而不是将流程流轉出去。這種函數成為内置函數,又稱内聯函數。指定内斂函,隻需要在函數的首行左部添加一個關鍵字inline即可。

使用内斂函數可以節省運作時間,但是卻增加了目标程式的長度。是以一般隻将規模很小(一般為5個語句以下)而是用頻繁的函數聲明為内聯函數。内聯函數中不能包括複雜的控制語句,如循環語句和switch語句。

繼續閱讀