C++ inline内联函数
生活随笔
收集整理的這篇文章主要介紹了
C++ inline内联函数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
C++ inline內聯函數
- 簡介
- 聲明內聯函數
- 定義內聯函數
- 總結
簡介
函數是一個可以重復使用的代碼塊,CPU 會一條一條地挨著執行其中的代碼。CPU 在執行主調函數代碼時如果遇到了被調函數,主調函數就會暫停,CPU 轉而執行被調函數的代碼;被調函數執行完畢后再返回到主調函數,主調函數根據剛才的狀態繼續往下執行。
一個 C/C++ 程序的執行過程可以認為是多個函數之間的相互調用過程,它們形成了一個或簡單或復雜的調用鏈條,這個鏈條的起點是 main(),終點也是 main()。當 main() 調用完了所有的函數,它會返回一個值(例如return 0;)來結束自己的生命,從而結束整個程序。
函數調用是有時間和空間開銷的。程序在執行一個函數之前需要做一些準備工作,要將實參、局部變量、返回地址以及若干寄存器都壓入棧中,然后才能執行函數體中的代碼;函數體中的代碼執行完畢后還要清理現場,將之前壓入棧中的數據都出棧,才能接著執行函數調用位置以后的代碼。
如果函數體代碼比較多,需要較長的執行時間,那么函數調用機制占用的時間可以忽略;如果函數只有一兩條語句,那么大部分的時間都會花費在函數調用機制上,這種時間開銷就就不容忽視。
為了消除函數調用的時空開銷,C++ 提供一種提高效率的方法,即在編譯時將函數調用處用函數體替換,類似于C語言
總結
以上是生活随笔為你收集整理的C++ inline内联函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 粟裕在山门的办公室旧址位于哪儿
- 下一篇: 统一润滑油是民营还是国企?成立有三十年了