C++学习笔记 (15)—— new操作符

c++中利用new操作符在堆区开辟数

堆区开辟的数据,由程序员手动开辟,手动释放,释放利用操作符delete

语法:

new 数据类型

利用new创建的数据,会返回该数据对应的类型的指针(地址)

 

eg:

 

#include <iostream>
using namespace std;
//1.new的基本语法
//new 创建整型变量
int* func()
{
return new int(0);
}
//new创建 整型数组
int* arr()
{
return new int[2]{ 0,1 };
}
int main()
{
cout << "new的使用:" << endl;
int* pt = func();
int* p = func();
cout << *p << endl;
//堆区的人数据由程序员管理开辟,程序员管理释放
//如果想释放堆区的数据,利用关键字 delete
delete p;
//cout << *p << endl; //内存已经被释放,再次访问就是非法操作,会报错
int ba = 10;
p = &ba;
cout << *p << endl;

 

cout << *pt << endl;
delete pt;
cout << *pt << endl;
//在堆区开辟数组
int* p1 = arr();
cout << "*p1 = " << *p1 << endl;
cout << "*p1 = " << *(p1+1) << endl;
cout << "----------------" << endl;
cout << "p1[0]的地址 = " << p1 << endl;
cout << "p1[1]的地址 = " << p1 + 1 << endl;
//释放数组
//释放数组的时侯,需要加[]才可以
delete []p1;
system("pause");
return 0;
}

 

posted @ 2022-04-15 13:05  雾枫  阅读(72)  评论(0编辑  收藏  举报