五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(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ù)?的評論 (共 條)

分享到微博請遵守國家法律
阿巴嘎旗| 景德镇市| 麟游县| 图们市| 武宁县| 综艺| 吴堡县| 太白县| 微山县| 叶城县| 深泽县| 图木舒克市| 册亨县| 商水县| 易门县| 桑日县| 开江县| 察雅县| 陆河县| 苍南县| 宁阳县| 申扎县| 德庆县| 富阳市| 汤原县| 克什克腾旗| 湘阴县| 旌德县| 望江县| 池州市| 宁海县| 宜黄县| 安远县| 岗巴县| 宁波市| 郸城县| 博野县| 资溪县| 嘉定区| 凤山市| 绥中县|