Listing 11 Implementing per-class allocation


class HeapBasedClass
{
    ...

public:
    void *operator new(size_t si)
    {
        return ::HeapAlloc(::GetProcessHeap(), 0, si);
    }
    void operator delete (void *pv) throw()
    {
        ::HeapFree(::GetProcessHeap(), 0, pv);
    }
};