內聯函式在宣告和定義時要在前面加上inline
然後在後面跟函式的返回型別。
話不多說先舉乙個例子:
#includeusing namespace std;
inline int func(int number1,int number2)
int main()
{ int a=1,b=2;
int r;
r=func(a,b);
cout《這個**的執行結果相比大家都很清楚。
但是似乎這個內聯函式用不用好像沒有什麼區別啊
簡單來說,內聯函式存在的作用是提高程式的執行效率。
內聯函式通過在每乙個呼叫它的地方換成了函式體本身來進行替換,而不是用通常的函式呼叫方法使用這個函式。
優點是可以提高程式的執行效率,但缺點是較長的函式體會拖慢程式的執行速度。
因此,對於一些較為關鍵,且函式體較短(遞迴函式除外),大約在十行以內的函式,使用內聯函式是較好的。
此外,需要注意以下幾點,
內聯函式中不能使用迴圈語句和switch語句,
且內聯函式的宣告必須在函式的第一次呼叫以前
一點自己的理解,有錯誤的地方歡迎各位指正。
內聯函式和巨集函式的一些區別
懶得寫了,直接放上答案鏈結吧 巨集和內聯函式的意義 相比普通函式,內聯函式效率更高,其主要原因為內聯函式不需要中斷呼叫,通過複製 節省了函式呼叫的時間。從內聯函式的實現我們可以看出,其僅僅節省了函式呼叫的時間,若本身內聯的函式耗時就長,節省這麼一點呼叫時間並不會有太大的提公升,而且函式本身複雜,相應...
有關內聯函式的一些事
有關內聯函式的一些事,thinking in c 和 effective c 的學習筆記。內聯函式是c 用來替換巨集而引入的。c中的巨集在省去函式呼叫的開銷的同時引入了不易發現的bug,主要是由對引數求值引起的。一 內聯函式如何起作用 對於普通函式,編譯器只把函式名稱 對於c 來說也包含了引數型別?...
建構函式的一些理解
首先寫乙個 person 的建構函式 如下 person 建構函式中的 this 指向new出來的物件例項,也就是 p1,通過new person 實參1 實參2 將實參傳入 person建構函式中,建立出新的物件p1 prototype 原型 在person 的原型上新增 say 方法,通過在原型...