首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2013-01-07 
Effective C++:条款9: 避免隐藏标准形式的new因为内部范围声明的名称会隐藏掉外部范围的相同的名称,所以对

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定制新的功能,只需要重写这个函数。调用者重新编译链接后就可以使用新功能了。

热点排行