在c ++中你可以重载新的/删除操作符,这样做有什么好处吗?从调用运算符new
之后,在调用运算符delete
之前将其结果值发送到构造函数,然后调用析构函数。
答案 0 :(得分:6)
重载点是控制内存分配。在某些情况下,您希望使用自己的分配器而不是标准分配器(例如,当您希望分配来自静态池而不是直接来自堆)时。
答案 1 :(得分:1)
如果你想编写自己的分配器,那么你可以重载new
和delete
以使分配器的使用更自然。
答案 2 :(得分:1)
假设您拥有移动设备的代码。您可以重载新的内容,以便以您的方式管理内存,可能比默认行为更有效。
答案 3 :(得分:0)
如果要编写自己的内存使用跟踪器,则重载new和delete会很有用。如果您想模拟低内存条件,也很有用。