1、有时候,我们替换掉编译器提供的new或者delete。首先思考,为什么想要替换?下面是三个常见理由:
a、用来检测运用上的错误,超额分配一些内存,再额外的空间放置一些内存;
b、为了强化效能,编译器提供的new/delete是通用的,通用就意味着冗余和效率低下,为什么?这个很好理解,因为他要支持很多情况下,也必须考虑很多情况。我们重写new/delete,也就是说,对于特定情况,给出特定的实现。
c、为了收集使用上的统计数据。
2023-12-02 23:03:28
1、有时候,我们替换掉编译器提供的new或者delete。首先思考,为什么想要替换?下面是三个常见理由:
a、用来检测运用上的错误,超额分配一些内存,再额外的空间放置一些内存;
b、为了强化效能,编译器提供的new/delete是通用的,通用就意味着冗余和效率低下,为什么?这个很好理解,因为他要支持很多情况下,也必须考虑很多情况。我们重写new/delete,也就是说,对于特定情况,给出特定的实现。
c、为了收集使用上的统计数据。