The usual benefits of using objects as opposed to pointers (RAII) + the type information is manifest (no void* pointers) The best of both worlds: automatic destruction, aligned memory