扫盲1:
*****************************************************************************
扫盲2:
简而言之c++一个空类,c++会隐式声明如下成员函数:
class Empty
{
public:
Empty();
Empty(const Empty&);
~Empty();
Empty& operator=(const Empty& rhs);
};
网上很多答案是错误的:
class Empty
{
public:
Empty();
Empty(const Empty&);
~Empty();
Empty& operator=(const Empty& rhs);
Empty* operator&();
const Empty* operator&() const;
};
这个错误答案估计是受《Effective c++, 2nd》影响,因为这本书里曾经有如此说法,后来这个说法在新版
中被作者加以修正。operator&()不会被编译器隐式声明。
*****************************************************************************