#include <iostream>
//在堆区创建的变量由程序员管理释放(通过new ,delete)
//1 new的基本语法
int *func()
{
//在堆区创建整形数据
//new返回的是该数据类型的指针
int *p = new int(10);
return p;
}
void test01()
{
int *p = func();
std::cout<<*p<<std::endl;
//堆区的数据由程序员管理开辟,程序员管理释放
//如果想释放堆区的数据,利用关键字delete
delete p;
std::cout<<*p<<std::endl;//内存已经被释放,再次访问会出错
}
//2 在堆区利用new开辟数组
void test02()
{
//创建10个整形数据的数组,在堆区
int *arr = new int[10];//10 代表有10个元素
for(int i = 0; i < 10; i++)
{
arr[i] = i + 100;
}
for(int i = 0; i < 10; i++)
{
std::cout<<arr[i]<<std::endl;
}
//释放堆区数组
//释放数组的时候,要加[]才可以
delete[] arr;
}
int main() {
test01();
test02();
}
c++ 中的 new 和 delete
猜你喜欢
转载自blog.csdn.net/weixin_40512640/article/details/103477186
今日推荐
周排行