亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么通過const引用而不是按值傳遞?

為什么通過const引用而不是按值傳遞?

C++
至尊寶的傳說 2019-10-18 10:55:29
據我了解:當您按值傳遞時,該函數將對傳遞的參數進行本地復制并使用該參數;當函數結束時,它將超出范圍。當您通過const引用傳遞時,該函數將使用對無法修改的傳遞參數的引用。但是,我不理解為什么一個人會選擇一個而不是另一個,除非需要修改和返回一個參數。如果您有一個void函數,什么也沒有返回,為什么要選擇一個?編輯:因此基本上通過const引用傳遞避免復制對象。那么在什么情況下復制對象是好的?我的意思是,為什么不始終使用const引用,如果它始終可以優化性能呢?
查看完整描述

3 回答

?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

在某些情況下,復制對象可能會極大地影響性能。考慮一個函數,該參數將是一個參數,std::vector<long>并且您想要傳遞帶有一百萬個元素的向量。在這種情況下,您將要在通過值傳遞時使用const引用。在這個SO問題中,您可以找到關于問題的簡單一般規則。


查看完整回答
反對 回復 2019-10-18
  • 3 回答
  • 0 關注
  • 805 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號