課程
/后端開發
/C++
/趣味 C++ 進階
如果沒有重載運算符=,賦值的時候還是拷貝嗎?
2023-05-23
源自:趣味 C++ 進階 6-6
正在回答
如果沒有重載運算符=,賦值的時候只會淺拷貝,也就是說兩個變量會指向同一個內存空間,在清除內存時可能會把同一內存空間清除2次并導致內存泄漏。重載運算符“=”之后,可以進行深拷貝,從而防止淺拷貝產生的內存泄漏問題。此外,重載運算符“=”還可以解決類對象之間的運算和賦值問題。
版槽子 提問者
舉報
本課程是 C++ 的進階課程,繼續趣味學習之旅,帶你探索 C++ 的高級用法。
1 回答關于賦值運算重載是否正確的問題?
2 回答Add(const RMB & rmb)中的&是什么意思?是什么運算符嗎?
1 回答計算機要怎么學習
2 回答為什么輸出name需要這樣name.c_str()
1 回答子類轉換為父類為什么要用顯式轉換
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2023-06-01
如果沒有重載運算符=,賦值的時候只會淺拷貝,也就是說兩個變量會指向同一個內存空間,在清除內存時可能會把同一內存空間清除2次并導致內存泄漏。重載運算符“=”之后,可以進行深拷貝,從而防止淺拷貝產生的內存泄漏問題。此外,重載運算符“=”還可以解決類對象之間的運算和賦值問題。