看一篇教程,看到有如下代码,给的打印结果是:
custom delete for size 1
custom delete for size 18
我感觉有点奇怪,在自己机器上跑了下,打印结果相同,重载了delete操作符,为何打印的结果是1和18呢?
我打印出来sizeof(P)结果是1,为何delete[] var2时显示的确是18不是10呢?
#include
using namespace std;
struct P {
static void operator delete(void* ptr, std::size_t sz)
{
cout << "custom delete for size " << sz <