相关疑难解决方法(0)

新分配了多少字节?

可能重复:
如何在malloc之后获取内存块长度?

如果我有一个指针,是否可以了解分配了多少字节new?当我用Google搜索时,我找到了适用于Windows的解决方案:_msize()对于Mac : malloc_size(). 但Linux没什么.

如果没有,有人知道为什么它对程序员隐藏了吗?delete应该知道这样的信息.

更新:

据我所知,如果我有这个代码:

 class A {   
   ~A() {}
   int m_a; 
 }; 
 class B : public A {
   ~B() {}
   int m_b; 
 };

 int main() {   A * b = new B();   delete b;   return 0; }
Run Code Online (Sandbox Code Playgroud)

将调用A的析构函数,但仍将new释放所有分配的内存.这意味着它可以以某种方式计算只知道指针.那么将它从程序员中隐藏起来的原因是什么?

c++ linux memory-management

4
推荐指数
1
解决办法
2256
查看次数

标签 统计

c++ ×1

linux ×1

memory-management ×1