C 內聯函式和引用變數

2022-01-12 22:27:58 字數 1370 閱讀 7986

內聯函式和普通函式的使用方法沒有本質區別,我們來看乙個例子,下面展示了內聯函式的使用方法:

#include using

namespace

std;

//下面展示內聯函式的使用

inline double square(doublex)

intmain()

從上面我們可以看到我們定義乙個內聯函式只需要在普通函式的前面加上關鍵字inline就可以了,利用內聯函式的優勢則是可以讓程式不需要跳轉到另乙個位置執行**,直接遇到我們所定義的函式就可以進行執行了。因此會節省一些執行的時間。但是這個函式並沒有得到廣泛的使用,是因為使用這個,則會在另一方面增大系統的開銷。一般前況下,如果執行函式**的時間比處理函式呼叫的時間更長,則推薦使用這種方式,但如果執行函式**的時間比處理函式呼叫的時間更短,則使用普通函式的效率會顯得更高一些,因為我們算的是總體的程式執行時間。不然在第二種情況下,所有的程式資源都用於呼叫函式上面去了,我覺得實在是太花費時間了。

1.一般情況下的引用變數是我們現有變數的乙個拷貝,相當於我們可以利用乙個新的變數名稱來代替原變數的使用,下面是乙個小例子:

#include using

namespace

std;

intmain()

輸出結果:

rats=101,rodents=101

rats=102,rodents=102

rats的位址是0x6ffe34

rodents的位址是0x6ffe34

從中可以知道rats和rodents的值是相同的,就連位址都是相同的。

程式如下:

#include using

namespace

std;

intmain()

結果如下:

rats=101,rodents=101

rats=102,rodents=102

rats的位址是0x6ffe34

rodents的位址是0x6ffe34

下面我們進入第三者

rats=41

rodents=41

rats的位址是0x6ffe34

rodents的位址是0x6ffe34

c的位址是0x6ffe30

這個時候我們可以看到第三者的位址和前兩者的位址是不一樣的,但是值卻是一樣的,因為這種情況就相當於將第三者直接複製給了第一者,其間的引用並沒有對它產生任何在位址上的影響,這也十分容易理解。

引用和內聯函式

內聯函式是c 為提高程式執行速度所做的一項改進。編譯過程的最終產品是可執行程式 由一組機器語言指令組成 程式執行時,作業系統將這些指令載入到計算機記憶體中,因此每條指令都有特定的記憶體位址。常規函式呼叫過程 程式跳到函式的位址,並在函式結束時返回。即,程式執行到函式呼叫指令時,將在函式呼叫後立即儲存...

C 中的引用和內聯函式

一 引用 1 定義 引用不是新定義乙個變數,而是給已存在變數取了乙個別名,編譯器不會為引用變數開闢記憶體空間,它和它引用的變數共用同一塊記憶體空間。2 特性 a 引用在定義時必須初始化。b 乙個變數可以有多個引用。c 引用一旦引用乙個實體,再不能引用其他實體。3 使用場景 a 做引數 void sw...

C 函式過載 引用 內聯函式

2 函式過載 3 引用 4 內聯函式 在宣告或定義函式時,給函式的引數設定乙個預設值,當使用者對函式進行呼叫時,如果傳遞了實參,則使用使用者傳遞的實參 如果沒有傳遞則使用預設值。預設引數必須從右往左給出 不能在函式宣告和定義的位置同時給出 預設引數在提供時 常量 全域性變數 c語言不支援。相同作用域...