程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> 關於C++ >> 內聯函數inline與宏界說深刻解析

內聯函數inline與宏界說深刻解析

編輯:關於C++

內聯函數inline與宏界說深刻解析。本站提示廣大學習愛好者:(內聯函數inline與宏界說深刻解析)文章只能為提供參考,不一定能成為您想要的結果。以下是內聯函數inline與宏界說深刻解析正文


內聯函數的優勝性:
一:inline界說的類的內聯函數,函數的代碼被放入符號表中,在應用時直接停止調換(像宏界說一樣睜開),沒有了挪用的開支,效力很高。
二:類的內斂函數是一個真實的函數。
三:應用內聯函數inline可以完整代替表達式情勢的宏界說。

例子:

Class A
{
public:
int readTest()
{
return nTest;
}
void setTest(int i);
};
inline void A::setTest(int i)
{
nTest=i;
};

解釋:類A的成員函數readTest()和setTest()都是內聯函數,readTest()函數的界說體被放在類聲明當中,因此readTest()主動轉換成inline函數,setTest函數的界說體在類聲明以外,是以要加上inline症結字。

總結inline函數與宏界說的差別:
1、內斂函數在編譯時睜開,而宏是在預編譯時就睜開了
2、在編譯時內斂函數可以直接被嵌入到目的函數代碼中,而宏只是一個簡略的文本調換
3、內斂函數可以完成諸如類型的檢測、語句能否准確等編譯功效,宏就不具有這類功效
4、宏不是函數,而inline函數是函數
5、宏在界說時要當心處置宏參數,(普通情形是把參數用括弧括起來)。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved