內聯函式使用注意事項

2021-06-09 02:42:24 字數 573 閱讀 2280

class tableclass

inline int dec()

int getnum();

}inline int tableclass::getnum()

上面申明的三個函式都是內聯函式。

注意:1、在c++中,在類的內部定義了函式體的函式,被預設為是內聯函式。而不管是否有inline關鍵字。

2、如果函式的定義放在類的外部,函式定義前必須加inline才能成為內聯函式,而函式宣告可以加inline也可以不加

3、關鍵字inline 必須與函式定義體放在一起才能使函式成為內聯,僅將inline 放在函式宣告前面不起任何作用

所以說,inline 是一種「用於實現的關鍵字」,而不是一種「用於宣告的關鍵字」。一般地,使用者可以閱讀函式的宣告,但是看不到函式的定義。儘管在大多數教科書中內聯函式的宣告、定義體前面都加了inline 關鍵字,但我認為inline 不應該出現在函式的宣告中。這個細節雖然不會影響函式的功能,但是體現了高質量c++/c 程式設計風格的乙個基本原則:宣告與定義不可混為一談,使用者沒有必要、也不應該知道函式是否需要內聯。-摘自高質量c++/c 程式設計指南

內聯函式及其注意事項

default argument 是編譯器記住了default argument,但是執行時還是要兩個引數的 編譯器看到了原型宣告 可以有default argument值,所以編譯器替你補上了 建議 不要使用default argument,很不安全,和設計者的意圖不一樣 前面加了inline的函...

函式使用注意事項

目錄 函式使用注意事項 1.自定義函式 1 無引數,無返回值 2 無引數,有返回值 3 有引數,無返回值 4 有引數,有返回值 5 函式名不能重複 2.函式呼叫 1 呼叫的方式 2 呼叫時,要寫實參 3 呼叫時,實參的個數和先後順序應該和定義函式中要求的一致 4 如果呼叫的函式有返回值,那麼就可以用...

sscanf 函式使用注意事項

在除錯 時,發現使用 sscanf 函式的乙個問題,在以後使用該函式時要注意避免 例如程式如下 word dwvalue cstring strbuf sscanf strbuf,d dwvalue 呼叫 sscanf strbuf,d dwvalue 後,會為dwvalue賦值,卻影響了4個位元組...