c++ - 在运算符C++中访问对象

标签 c++ this new-operator

我正在重载“new”运算符,以便跟踪每个分配。我希望它打印分配的内存的大小,以及分配的对象的类型。

我想出了这样的东西:

void* operator new(size_t size) {
  std::cout << "Allocating " << size << " bytes.\n";
  return malloc(size);
}

但我不知道如何打印对象的类型。
感谢您的帮助!

最佳答案

根本不涉及任何类型。您无处指定任何类型-您所做的只是以字节为单位的内存分配。因此,类型始终是size字节的数组。

关于c++ - 在运算符C++中访问对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60566973/

相关文章:

c++ - 具有两个函数头的菜单驱动程序中的 undefined reference

javascript - "use strict"如何修改Javascript中 "this"的规则?

c# - 如何在使用 LINQ C# 创建新对象时访问内部属性?

c++ - 在 OpenCV FOURCC 编解码器中写入视频

c++ - 当我使用 SDL 运行 C++ 程序时获取命令行

C++ malloc.c :2905: __libc_malloc: Assertion

javascript - 如何在回调中访问正确的“this”?

c# - 这个。和列表<T>

c++ - 使用 malloc 与 new

c++ - malloced 数组和新数组之间有区别吗