new操作符
C++中利用new操作符在堆区开辟数据
堆区开辟的数据,由程序员手动开辟,手动释放,释放时利用delete操作符
语法:new 数据类型
利用new创建的数据,会返回该数据对应的类型的指针
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
//在堆区创建整型数据
int* ting()
{
//语法: new 数据类型
int* p = new int(100); //new 返回的是该类型的指针
return p;
}
int main()
{
int* p = ting();
cout << *p << endl;
delete p; //利用delete释放堆区数据
//cout << *p << endl; //报错,因为释放的空间将不可访问
system("pause");
return 0;
}
在堆区开辟数组
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
int main()
{
int *arr = new int[10];
for (int i = 0; i < 10; i++)
{
arr[i] = i + 1;
}
for (int i = 0; i < 10; i++)
{
cout << arr[i] << endl;
}
delete[] arr;//利用delete释放数组时,要加[]
system("pause");
return 0;
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;
int* func()
{
int* arr = new int[10];
for (int i = 0; i < 10; i++)
{
arr[i] = i + 1;
}
for (int i = 0; i < 10; i++)
{
cout << arr[i] << endl;
}
return arr;
}
int main()
{
int* arr = func();
delete[] arr;//利用delete释放数组时,要加[]
system("pause");
return 0;
}