operator new & new operator
web资料:
operator new
(1) 只分配所要求的空间,不调用相关对象的构造函数。当无法满足所要求分配的空间时,则
->如果有new_handler,则调用new_handler,否则
->如果没要求不抛出异常(以nothrow参数表达),则执行bad_alloc异常,否则
->返回0
(2) 可以被重载
(3) 重载时,返回类型必须声明为void*
(4) 重载时,第一个参数类型必须为表达要求分配空间的大小(字节),类型为size_t
(5) 重载时,可以带其它参数
new operator(就是一般使用的new A()中的)
(1) 1调用operator new分配足够的空间
2并调用相关对象的构造函数(从这里也可以理解析构函数并不释放内存!)
(2) 不可以被重载