赞
踩
new和delete运算符也可以像C ++中的其他运算符一样重载。New和Delete运算符可以全局重载,也可以在特定类中重载。
(1)如果使用某个类的成员函数来重载这些运算符,则意味着这些运算符仅针对该特定类才被重载。
(2)如果重载是在类外部完成的(即它不是类的成员函数),则只要您使用这些运算符(在类内或类外),都将调用重载的“ new”和“ delete”。这是全局超载。
重载new运算符的语法:
void *运算符new(size_t size);
重载的new运算符接收的大小为size_t类型,该大小指定要分配的内存字节数。重载的new的返回类型必须为void *。重载的函数返回一个指向分配的内存块开头的指针。
重载delete运算符的语法:
无效运算符delete(void *);
该函数接收一个必须删除的void *类型的参数。函数不应该返回任何东西。
注意:默认情况下,重载的new和delete运算符函数都是静态成员
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。