我正在重载“ new”运算符,以便跟踪每个分配。我希望它打印已分配内存的大小,只要分配的对象类型即可。
我想出了类似这样的东西:
void* operator new(size_t size) {
std::cout << "Allocating " << size << " bytes.\n";
return malloc(size);
}
但是我不知道如何打印对象的类型。谢谢您的帮助!
根本不涉及任何类型。您无处指定任何类型-您所做的只是以字节为单位的内存分配。因此,类型始终是size
个字节的数组。