求助,C++中定义一个指针何时要加new int,何时不需要加?
RT,是不是p=&5这样的式子出现就不用加了?那如果我先定义int*p=newint;再令p=&a,会不会引起内存泄漏?我是个刚学C++的新手,麻烦讲的通俗些详细些,谢谢...
RT,是不是p=&5这样的式子出现就不用加了?那如果我先定义int *p=new int;再令p=&a,会不会引起内存泄漏?我是个刚学C++的新手,麻烦讲的通俗些详细些,谢谢了~
展开
3个回答
2013-09-09
展开全部
new关键字向系统请求一块内存,把这块内存地址赋值给p。这时指针p是唯一可以引用该内存的方式。如果改变p的值会丢失那块内存,再也找不回来,也就是内存泄露
2013-09-09
展开全部
new会在堆内存开辟空间,c++不会主动释放堆内存,所以上述语句必然导致内存溢出。应该先delete p。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-09-09
展开全部
int *p=new int;再令p=&a,会引起内存泄漏
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询