void *operator new(size_t, void *place)

みたいなやつはあくまでデフォルトの定義。
それはそれで有用ですけど。

placement な operator new は、
例えばこんな風にオーバーロードして、
どこからメモリを確保するかをコントロールしたりとか
けっこういろんなことに使える。

void* operator new(size_t n, Allocator& a)
{
return a.alloc(n);
}