C++中的new操作符
知识点1:C++中利用new操作符在堆区开辟数据
知识点2:堆区开辟的数据,由程序员手动开辟,手动释放,释放利用delete
知识点3:语法 new 数据类型
如下图所示代码所示,利用new创建的数据,会返回该数据对应的类型的指针
int* func()
{
int* a=new int(10);
return a;
}
int main()
{
int *p=func();
cout<<*p<<endl;
cout<<*p<<endl;
delete p;
cout<<*p<<endl; //会报错,释放的空间不可访问
return 0;
}
用法示例:
int *pi=new int(1024); //pi指向的对象的值为1024
string *ps=new string(10,'9'); //*ps为“9999999999”
如下图代码所示,在堆区开辟数组
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 [] arr;
return 0;
}