在類聲明的內部聲明或定義的成員函數叫做內聯(INLINE)函數.
有兩種實現方式:
1.在類聲明的內部聲明,而在類聲明外部定義叫做顯式內聯函數,如:
class display
{
int t;
public:
void output(void)
}
display object;
inline void display::output(void)
{
cout << "i is " << i <<"\n";
}
2.在類聲明的內部定義,叫做隱式內聯函數,如:
class display
{
int t;
public:
inline void output(void)
{cout<<"i is "<< i << "\n";}
}
引入內聯函數的目的是爲了解決程序中函數調用的效率問題。
函數是一種更高級的抽象。它的引入使得編程者只關心函數的功能和使用方法,而不必關心函數功能的具體實現;函數的引入可以減少程序的目標代碼,實現程序代碼和數據的共享。但是,函數調用也會帶來降低效率的問題,因爲調用函數實際上將程序執行順序轉移到函數所存放在內存中某個地址,將函數的程序內容執行完後,再返回到轉去執行該函數前的地方。這種轉移操作要求在轉去前要保護現場並記憶執行的地址,轉回後先要恢復現場,並按原來保存地址繼續執行。因此,函數調用要有一定的時間和空間方面的開銷,於是將影響其效率。特別是對於一些函數體代碼不是很大,但又頻繁地被調用的函數來講,解決其效率問題更爲重要。引入內聯函數實際上就是爲了解決這一問題。