1.知识点
- C++中利用new操作符在堆区中开辟数据
- 堆区开辟的数据,由程序员手动开辟,手动释放,释放利用操作符delete
- 语法:
new 数据类型
利用new创建的数据,会返回该数据对应的类型的指针
2.代码
#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;
cout << *p << endl;
cout << *p << endl;
//堆区的数据,由程序员管理开辟,由程序员管理释放
//如果想释放堆区的数据,利用关键字delete
delete p;
//cout << *p << endl; //报错,内存已经被释放,再次访问就是非法操作
}
//在堆区开辟数组
void test2() {
//创建10整型数据的数组,在堆区
int* arr = new int[10]; //10代表数组由10个元素
for (int i = 0; i < 10; i++) {
arr[i] = 100 + i;
}
for (int i = 0; i < 10; i++) {
cout << arr[i] << endl;
}
//释放堆区数组
//释放数组的时候,要加[]
delete[] arr;
}
int main()
{
test1();
test2();
return 0;
}