C++中利用==new==操作符在堆区开辟数据
堆区开辟的数据,由程序员手动开辟,手动释放,释放利用操作符 ==delete==
语法:` new 数据类型`
利用new创建的数据,会返回该数据对应的类型的指针
int* func()
{
int* a = new int(10);
return a;
}
int main() {
int *p = func();
cout << *p << endl;
cout << *p << endl;
//利用delete释放堆区数据
delete p;
//cout << *p << endl; //报错,释放的空间不可访问
system("pause");
return 0;
}
第二个功能就是开辟数组
int main() {
int* arr = new int[10];
for (int i = 0; i < 10; i++)
{
arr[i] = i + 100;
}
for (int i = 0; i < 10; i++)
{
cout << arr[i] << endl;
}
//释放数组 delete 后加 []
delete[] arr;
system("pause");
return 0;
}
本文介绍了C++中如何使用new操作符在堆区动态分配内存,以及如何通过delete释放内存。示例包括单个变量的动态分配和数组的动态分配,并强调了手动管理内存的重要性,避免内存泄漏。程序演示了动态分配的int指针和数组的使用及释放过程。

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



