C++对象的动态建立与释放

Posted jiangtongxue

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++对象的动态建立与释放相关的知识,希望对你有一定的参考价值。

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返回的指针

以上是关于C++对象的动态建立与释放的主要内容,如果未能解决你的问题,请参考以下文章

C++类对象的动态建立和释放

C++类对象的动态建立和释放

12.5 C++对象的动态建立

12.5 C++对象的动态建立

12.5 C++对象的动态建立

12.5 C++对象的动态建立