2022年4月16日 星期六

[C++] 指標 :應用在參數傳遞時該怎麼呼叫使用? 傳參考呢?

當Function使用指標作為參數時,常常都會把宣告時和使用時的符號記錯,

這次好好記錄一下,每次搞混時就可以馬上打開網頁來複習。

一般變數作為Function參數就不說明了,

直接看Function使用指標參數的宣告,以經典的swap舉例。

.h檔

.cpp檔

使用者呼叫

結果

那如果原本要傳入的變數就已經是指標的情況呢?

我們把a宣告成指標,指向5這個常數。

可以發現,a傳給function時就不需要使用&符號了,因為a本身就代表"a指標"的位址,

而 *a 則是 a指標 指向的位址 裡面的

結果如下:




再來看如何使用傳參考(reference)。

.h檔

.cpp檔

使用者呼叫

一樣的,

我們把a宣告成指標,指向5這個常數,那該如何呼叫此function?

可以發現如果 a 是指標變數的話,是沒辦法直接用 a 傳給function的,

因為這時候的 a 代表的是 a 指標的位址阿。

改成這樣:

在 a 前面加上 * 號,就是把值傳進去了,

而因為是傳參考的關係,傳進去的參數和function內部的參數都會是同一個,

因為function內部的a和b只是傳進去的參數的別名。

結果如下:

參考資料

沒有留言:

張貼留言

社會新鮮人如何投資?

我的觀點是,在 沒有很多 本錢 的情況下, 別寄望每個月幾千元放到股票或者最近很夯的高股息ETF就能讓你致富, 先投資自己,讓自己的本業收入提高吧。