c++ - 了解堆上保留内存的大小

标签 c++

有没有办法获取堆上先前分配的内存的大小?
例如:

//pseudo-code

void* p = operator new (sizeof(int) * 3);
unsigned size = getSomeHow(p);  

最佳答案

你不能一直这样做,因为 operator new() 可以以任何合理的方式重载,甚至可能不使用运行时堆。

如果 operator new() 在 Visual C++ 中使用 malloc() 实现,您可以使用 _msize() .

关于c++ - 了解堆上保留内存的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4068046/

相关文章:

java - C++11( native 代码)与 Java(字节码)

c++ - 我可以制作 C++ 对象的按位拷贝吗?

c++ - 控制台显示字符串结尾字符

c++使用CRTP为variaidic模板中的每种类型创建纯虚拟重载

c++ - Windows多用户登录时如何获取活跃用户?

c++ - 是否可以获取内置标准运算符的函数指针?

c++ - C++ 对象上的列表

c++ - QtCreator 如何在构建 Windows 应用程序时避免控制台窗口?

c++ - CMake 解析错误函数缺少结尾 ")"。相反,发现未终止的字符串带有文本“)

c++ - 大声限制对命名空间中定义的全局变量的访问