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