c++函數返回引用的陷阱

這幾句代碼貌似沒有問題。實際上,在字面值字符串傳入const string&的時候發生了隱式轉換,生成了一個string的臨時值。返回的是此臨時值的引用。當代碼執行到cout時,臨時值已經被釋放。所以name是一個未定義的值。 函數返回引用是個危險的操作。如果該引用指向函數的參數,會出現上述問題;如果指向局部變量,該引用必然是個無效的引用,因爲函數返回時局部變量已經被釋放;如果該引用指向堆內存的變
相關文章
相關標籤/搜索