由程序员分配释放,若程序员不释放。程序结束时由操作系统回收
在c++中主要利用new在堆区开辟内存
#include<iostream>
using namespace std;
int * func()
{
//利用new关键字 可以将数据开辟在堆区
//指针本质也是局部变量 放在栈上 指针保存的数据放在堆区
int * p = new int(10);
return p;
}
int main()
{
//在堆区开辟数据
int *p = func();
cout << *p << endl;//第一次可以打印正确的数字,是因为编译器做了保留
cout << *p << endl;//第二次这个数据就不再保留了
system("pause");
return 0;
}
这篇博客探讨了C++中动态内存管理的概念,特别是使用new关键字在堆区分配内存。通过示例代码展示了如何在堆上创建并返回一个整型指针。文章指出,程序员负责释放通过new分配的内存,否则会在程序结束时由操作系统自动回收。讨论了内存泄漏的可能性以及未释放内存可能导致的问题。
2034

被折叠的 条评论
为什么被折叠?



