我编写了我的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
使其调用构造函数?