C++进阶 智能指针(下)
定制删除器我们在上面试验的代码全部都是new的单个元素 在这种环境下没有析构没有暴露出问题可以一旦我们使用 new [] 情况就复杂起来了 如下图假设A类定义出来的对象大小为20个字节 new五个对象 那么我们实际开辟的空间为64字节 前面四个字节会存放着我们开辟了对象的个数 (int类型存放)那么此时我们就不能简单的调用delete了 我们还要考虑指针偏移的问题这个时候就到我们的定制删除器上场....

C++进阶 智能指针(上)
为什么会存在智能指针我们首先来看下面的这段代码int div() { int a, b; cin >> a >> b; if (b == 0) throw invalid_argument("除0错误"); return a / b; } void func() { int* p1 = new int; int* p2 = new int;...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。
开发与运维
集结各类场景实战经验,助你开发运维畅行无忧
+关注