C++ new/delete 与 new[]/delete[] 详情
来源:互联网 发布:等距抽样的算法 编辑:程序博客网 时间:2024/06/11 17:15
new operator: A* pA = new A();
When we use thenew operator,the steps are as follows:
Step1: call operator newto allocate the memory as big as sizeof(A).
Step2: call the constructor A() toinitialize the attributes belonged to A.
Step3: return the pointer pA, which pointes to the object ofthis memory.
delete operator: deletepA;
When we usethe deleteoperator, the steps are as follows:
Step1: call the destructor ~A()todeal with the attribute store in this memory.
Step2: call operator deletetorelease this memory.
new[] operator: A* pAa = new A[N];
When we usenew[] operator, the steps are as follows:
Step 1: call operator new[]to allocate the memory as bigas N*sizeof(A)+4, the sizeN of the array is stored from (Address-4) to Address.
Step2: call Ntimes constructorA()of A to initialize the attributesbelonged to A.
Step3: return thepointer pAa,which points toAddress.
delete[] operator: delete []pAa;
When we use delete [] operator,the steps are as follows:
Step1: get the number which is needed to destruct from (Address-4)toAddress, and callN timesdestructor ~A()to deal with the attributes stored in the memory.
Step2: call operator delete []torelease this memory, which started with(Address -4).
- C++ new/delete 与 new[]/delete[] 详情
- 【C++】new delete & new[] delete[]
- new&delete 与 new[]&delete[]
- C/C++ New与Delete
- new与delete和new[ ]与delete[ ]
- C++中new、delete 与new[]、delete[]
- new/delete与new[]/delete[]实现机制
- C ++的new、delete
- [C++]new/delete
- C++:new和delete
- new和delete【C++】
- c++new and delete
- new与delete
- new与delete
- new与delete(下)
- C++ New与Delete
- new、delete 与指针
- 关于new与delete
- zoj1067
- HTTP 的应答码,错误码,通信码
- iOS开发的一些奇巧淫技
- django 1.8 官方文档翻译:6-5-1 Django中的测试
- 开启MySQL数据库远程连接
- C++ new/delete 与 new[]/delete[] 详情
- VMware虚拟机 停电 无法启动
- 关于 for(String s:arr)
- Swift UIScrollView简单介绍
- CATransform3D 特效详解
- 如何在 Laravel 中使用 SMTP 发送邮件(适用于 163、QQ、Gmail 等)
- DataTable只刷新列表,但不刷新页面
- static作用:静态变量的生存周期和作用域
- 【bzoj2697】 特技飞行 贪心