读书人

Effective C++:条约9: 避免隐藏标准形

发布时间: 2013-01-07 10:02:25 作者: rapoo

Effective C++:条款9: 避免隐藏标准形式的new

因为内部范围声明的名称会隐藏掉外部范围的相同的名称,所以对于分别在类的内部和全局声明的两个相同名字的函数f来说,类的成员函数会隐藏掉全局函数:

class x {public:  void f();  static    void * operator new(size_t size,                // p缺省值为0                        new_handler p = 0);         // };x *px1 = new (specialerrorhandler) x;               // 正确x* px2 = new x;                                     // 也正确

无论哪种方法,如果以后想对“标准”形式的new定制新的功能,只需要重写这个函数。调用者重新编译链接后就可以使用新功能了。

读书人网 >C++

热点推荐