1.C++利用new操作符在堆区开辟数据
2.堆区开辟的数据,由程序员手动开辟,手动释放,释放利用操作符delete
3.语法:new 数据类型
4.利用new创建的数据,会返回该数据对应的类型的指针
#include<iostream>
using namespace std;
int *func()
{
//在堆区创建整型数据
//new 返回的是该数据类型的指针
int *p=new int(10);
return p;
}
void test1()
{
int *p=func();
cout<<*p<<endl; //10
cout<<*p<<endl; //10
cout<<*p<<endl; //10
//堆区的数据,由程序员开辟和释放
//释放利用delete
delete p;
//cout<<*p<<endl; 内存已经释放,再次访问就是非法操作,会报错
}
void test2()
{
//创建10整型数据的数组,在堆区
int *arr=new int[10];
for(int i=0;i<10;i++)
{
arr[i]=i;
}
for(int i=0;i<10;i++)
{
cout<<arr[i]<<endl; //0 1 2 3 4 5 6 7 8 9
}
//释放堆区数组
//释放数组的时候,要加 []才可以
delete[] arr;
}
int main()
{
test1();
test2();
return 0;
}