首页 > 互联资讯 > 技术交流  > 

C++,全局变量如果用new了,需要delete吗?

很多年前,我面试,信心满满地将一个益智游戏的破解算法程序给面试官看,那个程序在界面上设置一些参数,就能计算出益智游戏每关走法,算我的一个得意之作。

面试官看了我的代码,没有为我能想出这么精妙的破解算法而惊讶,而是摇摇头,说我有new的指针不释放。我说那个指针类似全局变量,本来程序启动new一下,关程序的时候系统就给它释放了,不需要脱裤子放屁手动给它释放。

那个面试官反驳说,不能什么都交给系统啊。

后来我也接受教训,以后形成强迫症,有new必有delete。而且,那种全局new看样子不需要delete的变量,仅限于我们自己做的手工作品。如果是大型项目,不建议这样做。就算一开始设计的时候确定就是程序启动new,程序结束delete,也不能保证后面因为需求增加、改变而改变原有的设计,很容易导致bug。建议大型项目使用智能指针。

C++,全局变量如果用new了,需要delete吗?由讯客互联技术交流栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“C++,全局变量如果用new了,需要delete吗?