1. 如果是在堆上建立对象,那么应该使用 new operator,它会为你提供最为周全的服务。
2. 如果仅仅是分配内存,那么应该调用operator new,但初始化不在它的工作职责之内。如果你对默认的内存分配过程不满意,想单独定制,重载operator new 是不二选择。
3. 如果想在一块已经获得的内存里建立一个对象,那就应该用placement new。但是通
常情况下不建议使用,除非是在某些对时间要求非常高的应用中,因为相对于其他两
个步骤,选择合适的构造函数完成对象初始化是一个时间相对较长的过程。