追加情報を収集してリストに保存する実装を作成しましたmalloc
(これを と呼びます)。mymalloc(size_t)
ここで、 ではなくoperator new
で動作させるためにオーバーロードする必要があります。VS2010 では、次の実装を見つけました。mymalloc(size_t)
malloc(size_t)
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
このコードにはありません! 次に、私の質問は次のとおりです。コンストラクターを呼び出すために、メモリ割り当て関数としてオーバーロードoperator new
する方法は?mymalloc