天天看點

《從缺陷中學習C/C++》——6.14 正确使用引用參數和引用傳回值

本節書摘來自異步社群出版社《從缺陷中學習c/c++》一書中的第6章,第6.14節,作者: 劉新浙 , 劉玲 , 王超 , 李敬娜 , ,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。

從缺陷中學習c/c++

代碼示例

現象&後果

預期的輸出結果是11,但實際輸出的結果不确定。

bug分析

add函數是一個函數引用,而add函數的傳回值是形參n,形參是函數内的局部變量,函數執行結束之後,函數内的局部變量就被銷毀,記憶體空間就被收回。是以,add函數傳回的記憶體單元中的值就不确定,b的内容就不确定。正确方法是:確定傳回的記憶體空間不會随着函數的調用結束、被回收。

正确代碼

本文僅用于學習和交流目的,不代表異步社群觀點。非商業轉載請注明作譯者、出處,并保留本文的原始連結。

繼續閱讀