new运算符动态分配堆内存 (从堆分配一块“类型”大小的存储空间,并且返回首地址)
1、写程序的时候,经常需要动态的分配和撤销内存空间,C语言中常常是利用库函数 malloc 和 free 来分配和撤销内存空间。
2、C++中,用运算符 new 和 delete 来动态的分配和撤销内存空间,从而取代 malloc 和 free。
3、new 和 delete 是运算符,不是函数,因此执行效率比较高。
4、new int;//开辟一个存放整数的存储空间,返回一个指向该存储空间的地址(指针)。
5、new int(100);//开辟一个存放整数的存储空间,并且指定该整数的初始值为100,返回一个指向该存储空间的地址(指针)。
6、new char[10];//开辟一个存放字符数组的空间,该空间包括10个元素,并且返回首个元素的地址。
7、new int[5][4];//开辟一个存放二维整形数组(大小为5*4)的空间,并且返回首个元素的地址。
8、float *p = new float(3.156987);//开辟一个存放单精度数的空间,并且指定初始值为3.156987,并且返回该空间的地址赋给一个指针变量。
delete运算符释放已经分配的内存空间
使用形式: delete 指针变量;
delete[] 指针变量;//标注 此处的指针变量必须是new返回的指针
原文:https://www.cnblogs.com/jiangtongxue/p/10846915.html