C++什么时候用new,什么时候不用new
2个回答
展开全部
new和不new的区别是类型分配的内存位置。
不new的类型对象内存分配是在栈区,这个地方比较小,一般只有几M的空间。一般对于内置类型比如int、char等如果需要的内存不多的情况下,可以不用new。这时候的内存会在当前函数结束后自动释放。
需要New的时候一般对于复杂类型,这时候内存分配是在堆区。比如自定义的类类型,或者需要大量内存空间的时候,比如你需要一个10000个int的数组,这时候你就需要new一下了。new的对象内存是需要我们手动释放的,否则会造成内存泄露。
以上是我的个人理解,仅供参考。
不new的类型对象内存分配是在栈区,这个地方比较小,一般只有几M的空间。一般对于内置类型比如int、char等如果需要的内存不多的情况下,可以不用new。这时候的内存会在当前函数结束后自动释放。
需要New的时候一般对于复杂类型,这时候内存分配是在堆区。比如自定义的类类型,或者需要大量内存空间的时候,比如你需要一个10000个int的数组,这时候你就需要new一下了。new的对象内存是需要我们手动释放的,否则会造成内存泄露。
以上是我的个人理解,仅供参考。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
创建不在栈上的新对象都应该用new
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询