小编Ais*_* Li的帖子

在 C++ 中使用 size_t sz 的附加参数重载运算符 delete

下面的代码允许您查看被删除的变量的大小:

#include <iostream>
#include <stdlib.h>
using namespace std;

struct P {
    static void operator delete(void* ptr, std::size_t sz)
    {
        cout << "custom delete for size " << sz <<endl;
        delete (ptr); // ::operator delete(ptr) can also be used
    }
    static void operator delete[](void* ptr, std::size_t sz)
    {
        cout << "custom delete for size " << sz <<endl;
        delete (ptr); // ::operator delete(ptr) can also be used
    }
};

int main()
{
    P* var1 = new P;
    delete var1;

    P* var2 …
Run Code Online (Sandbox Code Playgroud)

c++ overloading operator-overloading dynamic-memory-allocation

6
推荐指数
1
解决办法
134
查看次数