我编写了我的malloc实现(让它称为mymalloc(size_t)),它收集额外的信息并将其保存到列表中。现在我需要重载operator new以使其与 . 一起工作mymalloc(size_t),而不是malloc(size_t). 在 VS2010 中,我发现了以下实现operator new:
void *__CRTDECL operator new(size_t size) _THROW1(_STD bad_alloc)
{ // try to allocate size bytes
void *p;
while ((p = malloc(size)) == 0)
if (_callnewh(size) == 0)
{ // report no memory
static const std::bad_alloc nomem;
_RAISE(nomem);
}
return (p);
}
请参阅:placement new此代码中没有!那么我的问题是:如何使用 as 内存分配函数进行重载operator new以mymalloc使其调用构造函数?