c 中簡單的內聯函式

2021-09-27 03:26:27 字數 691 閱讀 8769

在c中我們經常把一些短並且執行頻繁的計算寫成巨集,而不是函式,這樣做的理由是為了執行效率,巨集可以避免函式呼叫的開銷,這些都由預處理來完成。

但是在c++出現之後,使用預處理巨集會出現兩個問題:

第乙個在c中也會出現,巨集看起來像乙個函式呼叫,但是會有隱藏一些難以發現的錯誤。

第二個問題是c++特有的,預處理器不允許訪問類的成員,也就是說預處理器巨集不能用作類類的成員函式。

為了保持預處理巨集的效率又增加安全性,而且還能像一般成員函式那樣可以在類裡訪問自如,c++引入了內聯函式(inline function).

內聯函式的作用主要有兩個:

1、解決巨集缺陷

2、降低時間複雜度,提高效率。可以理解內聯函式是以空間換成時間。

#include#define compare(x,y)((x)

using namespace std;

inline void compare(int a,int b)

{ int ret=a我們用一張圖來更加簡單明瞭的顯示內聯函式的作用。

C 中的內聯函式

華清遠見嵌入式學院 講師。c 中存在一些具有特殊意義或功能的特殊函式,我們來簡單介紹一下內聯函式。從軟體工程的角度來看,我們通常將乙個程式通過一組函式來進行實現,但是函式的呼叫涉及到執行時間的開銷,如果有的函式需要頻繁使用,則累計占用的時間會很長,所以c 提供了內聯函式的機制來提高效率,也就是在編譯...

C 中的內聯函式

c 中的內聯函式 華清遠見嵌入式學院講師。c 中存在一些具有特殊意義或功能的特殊函式,我們來簡單介紹一下內聯函式。從軟體工程的角度來看,我們通常將乙個程式通過一組函式來進行實現,但是函式的呼叫涉及到執行時間的開銷,如果有的函式需要頻繁使用,則累計占用的時間會很長,所以c 提供了內聯函式的機制來提高效...

C 中的內聯函式

本文主要和大家一起來學習一下c 中的內聯函式,旨在能夠更深層次的了解和掌握c 相關用法,力爭做到知其然還要知其所以然。關於內聯函式,本文主要從以下幾個方面進行了整理和歸納。一 相關描述 1 內聯函式主要目的是為了提高函式的執行效率,用關鍵字inline放在函式定義的前面即可,將函式指定為內聯函式。2...