Pra*_*bhu 3 c++ memory-leaks memory-management visual-c++
我在C++中有以下功能
void func1()
{
char *p = "Test for memory leak";
}
Run Code Online (Sandbox Code Playgroud)
何时func1()
被调用哪里是分配的变量的内存?无论是在堆栈还是堆中?应该delete p;
明确调用?
Nav*_*een 10
不,内存仅分配给p
堆栈上的指针.p
超出范围时,将自动回收此内存.p
只是指向一个字符串,该字符串存储在程序的只读部分中的某些位置.理想情况下,它应定义为const char *p
.如果你尝试delete
它,它将是未定义的行为.作为一项规则,您可以记住,每次拨打电话都new
需要拨打电话delete
归档时间: |
|
查看次数: |
801 次 |
最近记录: |