66问答网
所有问题
一个函数中定义的局部变量用new申请空间,函数结束时,程序自动销毁的是变量还是销毁申请的空间?
如题所述
举报该问题
推荐答案 2011-06-04
局部变量被释放,申请的空间没被释放,出现了内存泄漏,只有整个程序都退出的时候,系统收回进程空间的时候它才被释放掉了
new的空间,必须delete掉,而且要一一对应
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://66.wendadaohang.com/zd/nxsssp29s.html
其他回答
第1个回答 2011-06-08
都会销毁啊,因为这些都是临时的
相似回答
new
产生
一个变量
什么时候释放
答:
new:new是用来在堆上申请内存地址的关键字,他产生的变量不会自动释放,除非delete来手动释放,或者
程序结束时
由操作系统释放
,使用new的
优势是内存使用比较灵活,理论可以申请任意大小的内存区块(实际与操作系统有关),但这很容易产生问题,一不小心忘记释放对象,特别是在频繁调用的
函数内
创建的对象忘记...
c++
局部变量
的
销毁
问题。
答:
int i,这种类型
的局部变量
在栈上
,函数
退出后,栈上的数据就无效了,static int a这种类型的在全局段上,在整个程序的生命周期上都是不会
销毁的,
如果变量的
空间是
由
new
或malloc,calloc等动态分配函数分配的,那么是在堆空间上,需要使用delete或free来销毁 ...
函数里的局部变量
在函数退出后会不会
自动
释放?
答:
会自动释放,指针也是一样的。
局部变量
的作用域是定义该变量的函数或定义该变量的复合语句。只在定义它的函数或复合语句范围内有效,只能在定义它的函数或复合语句内才能使用它们。局部变量的生存期是从函数被调用的时刻算起到函数返回调用处的时刻结束。
...出
函数时
会
自动
释放,那么在
函数中用new申请的变量
在出函数时是否还...
答:
从使用角度讲是不存在了,因为不能再用了。比如这段代码中的结点a和结点指针b都在函数退出时“消失”了。可它们的实体还都在内存中放着,而且别人还不能使用它们霸占着的这些内存资源!太可以用“实存名亡”来描述它们了。由于它们没有了“名分”,就再也找不到它们了,成了实实在在的“数据垃圾...
C++问题。
答:
局部变量定义
在函数体内
,函数
被调用
时,局部变量
才临时的被创建,函数执行完后,
局部变量自动
被销毁;全局
变量是定义
在整个
程序空间内的
,在开始运行
程序时
被创建,整个程序执行完了才会销毁,因此
一个变量
(无论是全局
还是局部变量
)都
有一个
“创建”、“生存”、“销毁”的过程,从这个意义上说变量是有...
函数
在
结束的时候销毁
栈
空间,
会把栈空间
里面定义的变量
清除么?
答:
局部变量在函数调用完就会擦除(应该跟程序的联系),可是你使用
局部变量时
存放的是栈段,栈段的顺序是后进先出,而你刚好申请了相同大小的
变量空间,
系统直接就把那块空间又分配给你了,而
里面的
内容并没擦除。
大家正在搜
函数中的形式参数是局部变量
局部变量和全局变量的区别
函数调用可以作为一个函数的形参
函数的形参都属于局部变量
全局变量与局部变量
形式参数是局部变量吗
函数返回值的类型是由什么决定的
函数的定义
局部变量
相关问题
函数里的局部变量在函数退出后会不会自动释放?
函数中声明的变量在出函数时会自动释放,那么在函数中用new申...
在一个函数内部用new分配的空间什么时候销毁
函数结束后,函数所占空间会自动销毁。那下面代码为什么还能得到...
C++子函数中用new而不delete,那么这部分空间是否会...
在一个方法中的局部变量是不是出了方法就被销毁了?
函数中自动变量在函数结束时会自动释放吗
c++局部变量的销毁问题。