c++中利用 new 操作符在堆中开辟数据
堆区开辟的数据,由程序员手动开辟,手动释放,释放利用操作符 delete
语法: new 数据类型
利用new创建的数据,会返回该数据对应的类型的指针
#include <iostream>
using namespace std;
//1、new的基本语法
int * func()
{
//在堆区创建数据类型
//new 返回是 该数据类型的指针
int *p = new int(10);
return p;
}
void test1()
{
int *p = func();
cout << *p << endl;
//堆区的数据 由程序员管理开辟,程序员管理释放
//如果想释放堆区中的数据,利用关键字 delete
delete p;
//此时再去访问则会出错:cout << *p << endl;
}
//2、在堆区利用new开辟数组
void test2()
{
//创建10整形数据的数组
int *arr = new int[10]; //10代表数组有10个元素
for (int i=0;i<10;i++)
{
arr[i] = i + 10;
}
for (int i = 0; i < 10; i++)
{
cout << arr[i] << " ";
}
cout << endl;
//释放堆区数组
//释放数组的时候 要加 [ ] 才可以
delete[] arr;
}
int main()
{
test1();
test2();
system("pause");
}