引用作為函式的引數有什麼優缺點

2021-04-29 08:42:50 字數 1107 閱讀 6074

1樓:另耒

使用引用傳參的話,在函式中對該變數所做的修改,在函式返回後依然存在。這未必是程式設計師所希望的。

特點: 傳入實參本身,不建立副本

好處: 傳實參本身的好處

如void swap(int &a, int &b)確實可以交換兩個變數

如果是void swap(int a, int b)傳進去的是引數的拷貝,實參並沒修改

2.不建立拷貝。可以很好的提公升效率

如果引數是乙個結構體或者類,很大,進行引數拷貝比較耗時,如果傳引用就避免了這個過程

為了避免有時候不需要修改引用引數時對該引數誤操作,可以加const做保護

2樓:匿名使用者

1、在函式呼叫過程中使用指標引數來傳遞數值,相比直接傳遞數值本身,能夠帶來時間和空間上節約。但是,使用指標有一些不便利的:第一,在函式中必須使用指標操作符「->」來操作指標引數;第二,呼叫函式時,必須通過位址操作符「&」來傳遞數值的位址。

在c++中,引用能夠避免上述煩瑣的操作。當使用引用方式傳遞引數時,實參的位址能夠自動傳遞到呼叫的函式當中,並且在函式當中使用引用引數時,位址又自動解引用為引數數值本身,函式中不需要使用指標操作符「->」。這些操作都由編譯器自動完成,對程式設計師是透明的。

2、如果「函式引數有乙個const float & a」,那麼呼叫該函式時,引數值將自動轉換為float型別,並型別float的臨時變數位址傳遞到函式當中。因此,如果傳遞int、long以及char型別的變數時,程式能工作正常。如果傳遞double型別的變數,一旦該變數的數值超出float型別的數值範圍,程式將工作失敗。

另外,站長團上有產品**,便宜***

3樓:匿名使用者

特點: 傳入實參本身,不建立副本

好處: 傳實參本身的好處

如void swap(int &a, int &b)確實可以交換兩個變數

如果是void swap(int a, int b)傳進去的是引數的拷貝,實參並沒修改

2.不建立拷貝。可以很好的提公升效率

如果引數是乙個結構體或者類,很大,進行引數拷貝比較耗時,如果傳引用就避免了這個過程

為了避免有時候不需要修改引用引數時對該引數誤操作,可以加const做保護

關於c的題目編寫程式用引用作為函式引數來實

你好!這裡是預定義,函式的宣告 int main void 括號裡面的 void 表示沒有型別 這是函式的實現,int x,int y,帶有地址的引用 1 void 表示沒有引數,可以省略 2 傳引用,表示x,y會被改變。如果不用引用,x,y在函式結束後,還是原來的值,並沒有改變。第一個是函式宣告 ...

金毛有什麼優缺點?金毛的優缺點

優點 1.溫順 對人類友好不隨意傷人。2.聰明 理解能力強。金毛在狗狗的智商排名中排第四。3.運動協調性好,善於各種戶外運動。4.天性活潑 開朗。5.腸胃算是比較好的,相對於阿拉斯加 哈士奇這種狗狗來說。6.漂亮 遛狗的時候不免會有自豪感。7.體型比較適合家養,介於大型犬中型犬之間,因為有些金毛可以...

曹丕有什麼缺點,曹操的優缺點

三國時期魏國君主,廟號世祖 魏世祖 諡號文皇帝 魏文帝 政治家 文學家。字子桓。沛國譙縣 今安徽亳州 人。曹操次子。東漢建安十六年 211 為五官中郎將 副丞相。二十二年,立為太子。延康元年 220 曹操死,繼位為丞相 魏王。當年十月,迫漢獻帝禪位,自立為帝。國號魏,改元黃初,將都城由許昌遷至洛陽。...