new 运算符
//每日心得:独上高楼,望尽天涯路
//日期:12.10
//学习内容:new运算符
//重点:
//1、new的基本语法 (在堆区创建数据 通过new 返回该数据的指针)
//2、形式: 指针 = new (类型 + 数据)
数据类型: [](数组) ,() (数字,字符)
//3、(类型 + 数据) -> 内存空间
new 返回该内存空间的地址 (指针 = 地址)
//4、堆区的数据 由程序员管理开辟,程序员管理释放
(释放形式 : delete + 指针)
//5、内存被释放 不可再次访问
#include <iostream>
using namespace std;
// new 的运算符
int* test1()
{
int* p = new int(100);
return p;
}
//释放在析构 / main 函数中
int* test2(int n)
{
//动态数组
int* arr = new int[n];
for (int i = 0; i < n; ++i)
arr[i] = rand() % 10;
for (int i = 0; i < n; ++i)
cout << arr[i] << endl;
return arr;
delete []arr; // 指针前加 运算符
}
int main()
{
//new 运算符
cout << test1() << endl;
cout << *test1() << endl;
int n = 0;
cout << "Please input length:";
cin >> n;
test2(n);
delete test1();
return 0;
}