C++ new和delete的用法
C++里的new和delete簡(jiǎn)而言之就是:
new和delete都是動(dòng)態(tài)分配內(nèi)存的方法,new在堆上(如果不了解堆的話就不用管,只要記得是在內(nèi)存上)開辟一塊內(nèi)存,然后整理一下就可以使用了。用完了一定要記住要delete,因?yàn)槌绦虿粫?huì)幫你自動(dòng)delete不用的內(nèi)存的。
舉個(gè)例子,你開了一家餐館,現(xiàn)在來(lái)了一批客人,你需要鋪一張桌子來(lái)招待他們,你可以new一個(gè),客人吃完了走了,如果你不收拾這個(gè)桌子,其他客人就不能用了,這時(shí)候你需要派你的服務(wù)員去把桌子清理(delete)一下??赡苣懵犝f(shuō)過(guò)有些語(yǔ)言帶有垃圾回收,那么垃圾回收是什么呢?大概就是一群比較勤奮的服務(wù)員,不用你指派,他們自己看見臟了的桌子就去收拾了。你只管new,不用delete。
動(dòng)態(tài)分配內(nèi)存優(yōu)點(diǎn)挺多:函數(shù)可以返回new出來(lái)的對(duì)象指針、可以new一個(gè)很大很大的對(duì)象、可以控制對(duì)象的生命周期等等。
缺點(diǎn)就是如果你忘了delete,可能等內(nèi)存用完了,你的“餐館”(程序)就倒閉了。
總的來(lái)說(shuō),合理地使用new和delete可以提高程序的性能,避免內(nèi)存泄漏和懸垂指針等問(wèn)題。但應(yīng)注意避免過(guò)度的動(dòng)態(tài)內(nèi)存分配和釋放,避免影響程序的性能。
WRITE-BUG研發(fā)團(tuán)隊(duì)衷心希望【W(wǎng)RITE-BUG數(shù)字空間】可以給每位同學(xué)一個(gè)屬于自己的秘密空間,同時(shí)祝愿大家在“公開圈子”世界里,遇見志同道合的伙伴們,因?yàn)槲覀兣c大家一樣,都曾孤獨(dú)前行著。


