C++ 中行內函數和宏的區別
在這篇文章中,我們將瞭解 C++ 中行內函數和宏的區別。
行內函數
它是 C++ 中的一種函式。
它由編譯器解析。
它可以在類內或類外定義。
它只評估引數一次。
編譯器可能不會將所有函式轉換為“內聯”函式並擴充套件它們。
在類內部定義的短函式會自動成為行內函數。
類內的行內函數可以訪問類的成員資料。
行內函數可以使用大括號終止。
它易於除錯。
這是因為錯誤檢查在編譯期間完成。
它繫結函式體中的所有語句。
示例
inline return_type funct_name ( parameters ) {
. . .
}宏
它由預處理器擴充套件。
它在程式開頭定義。
它在程式碼中每次使用時都會評估引數。
它們總是需要/會被擴充套件。
它們需要專門定義。
它們永遠不會成為類的成員。
它們無法訪問類的成員資料。
宏的定義以換行符結束。
由於錯誤檢查不會在編譯時發生,因此難以除錯宏。
如果它包含多個語句,則會遇到繫結問題,因為它沒有終止符號。
示例
#define macro_name char_sequence
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP