函式的呼叫過程需要消耗一些記憶體資源和執行時間來傳遞引數和返回值,要記錄呼叫時的狀態,以便保證呼叫完成後能夠正確地返回並繼續執行。
如果有的函式成員需要被頻繁呼叫,而且**比較簡單,這個函式也可以定義為內聯函式。
內聯成員函式的函式體,也會在編譯時被插入到每乙個呼叫它的地方。這樣做可以減少呼叫的開銷,提高執行的效率,但是卻增加了編譯後**的長度。所以要在權衡利弊的基礎上慎重選擇,只有對相當簡單的成員函式才可以宣告位內聯函式。
其中內聯函式分為倆種:隱式宣告和顯式宣告。
隱式宣告:
將函式體直接放進類體內,這種方法稱之為隱式宣告。
class a
//成員函式func()是內聯函式
void print();
顯式宣告:
為了保證類的簡潔,可以採取關鍵字inline顯式宣告的方式。
class a
//成員函式func()是內聯函式,隱式內聯
void print(); //顯式宣告
private:
int i,j;};
inline void a::print(){
cout<<"兩數相乘為:"<
內聯成員函式
把成員函式的 放如類定義中。這種方式定義的函式就叫內聯成員函式。程式使用內聯成員函式的方式可以與類外部定義的成員函式的使用方式完全相同。但是,內聯函式和外聯函式之間還是有一點區別的 定義乙個內聯函式時,編譯器會把內聯函式的 替換到程式中。使用非內聯函式時,就不會這樣做。但是我們不能讓所有的函式都內聯...
隱式內聯函式和顯式內聯函式
讓乙個函式成為內聯函式,隱式的為在類裡定義函式,顯式的則是在函式前加上inline關鍵字說明。inline1.cpp c primary created by amesty on 16 5 11.include include 顯式內聯 include using namespace std cla...
c 內聯成員函式
內聯成員函式 類中的成員函式分為一般成員函式和內聯成員函式。把成員函式的 放入類宣告中,這種方式定義的類成員函式就叫內聯成員函式 隱式定義 程式使用內聯成員函式的方式與一般的成員函式的呼叫方式一樣。內聯函式和外聯函式之間的區別在於 定義乙個內聯函式時,編譯器會把內聯函式的 替換到程式中 這樣 效率要...