最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

C/C++編程筆記:如何通過引用或指針傳遞參數(shù)?

2021-03-25 20:23 作者:C語言編程__Plus  | 我要投稿



在C ++中,由于以下原因,變量通過引用傳遞:

1)修改調(diào)用者函數(shù)的局部變量:引用(或指針)允許被調(diào)用函數(shù)修改調(diào)用者函數(shù)的局部變量。例如,請考慮下面的示例程序:


輸出:?

x的新值為20

2)對于傳遞大型參數(shù):如果參數(shù)較大,則通過引用(或指針)傳遞效率更高,因為僅實際傳遞地址,而不傳遞整個對象。例如,讓我們考慮以下Employee類和一個用于打印Employee詳細(xì)信息的函數(shù)printEmpDetails()。


以上代碼的問題是:每次調(diào)用printEmpDetails()時,都會構(gòu)造一個新的Employee對象,其中涉及創(chuàng)建所有數(shù)據(jù)成員的副本。因此,更好的實現(xiàn)方法是將Employee作為參考。


這一點僅對結(jié)構(gòu)和類變量有效,因為我們對于int,char等基本類型沒有任何效率優(yōu)勢。?

3)避免對象切片:?如果我們將子類的對象傳遞給需要超類對象的函數(shù),則如果按值傳遞,則對傳遞的對象進行切片。例如,考慮以下程序,它打印“ This is Pet Class”。?


輸出: This is Pet class

如果在上述程序中使用引用傳遞,則它會正確打印“This is Dog class”。請參閱以下修改的程序。


輸出:This is Dog class

這一點對于基本數(shù)據(jù)類型(例如int,char,..等)也無效。

4)在函數(shù)中實現(xiàn)運行時多態(tài)性我們可以通過將對象作為對其的引用(或指針)進行傳遞來使函數(shù)多態(tài)性。例如,在以下程序中,print()接收對基類對象的引用。如果傳遞了基類對象,則print()調(diào)用基類函數(shù)show();如果傳遞了派生類對象,則調(diào)用派生類函數(shù)show()。??


輸出:?

In base?

In derived

每天學(xué)點小知識,希望對你有幫助~

另外如果你想更好的提升你的編程能力,學(xué)好C語言C++編程!彎道超車,快人一步!筆者這里或許可以幫到你~

微信公眾號:C語言編程學(xué)習(xí)基地

分享(源碼、項目實戰(zhàn)視頻、項目筆記,基礎(chǔ)入門教程)

歡迎轉(zhuǎn)行和學(xué)習(xí)編程的伙伴,利用更多的資料學(xué)習(xí)成長比自己琢磨更快哦!



C/C++編程筆記:如何通過引用或指針傳遞參數(shù)?的評論 (共 條)

分享到微博請遵守國家法律
彭州市| 始兴县| 甘谷县| 八宿县| 余姚市| 建昌县| 赫章县| 民勤县| 兴隆县| 平湖市| 海门市| 赤壁市| 周口市| 沅江市| 萨嘎县| 衡水市| 梁平县| 新田县| 陆良县| 离岛区| 油尖旺区| 沁源县| 玛沁县| 井陉县| 湛江市| 泾川县| 桂平市| 鹿邑县| 牡丹江市| 长乐市| 方山县| 远安县| 嘉义市| 马关县| 宁蒗| 宁强县| 西城区| 德兴市| 大埔区| 永春县| 天门市|