假设我有一个具有许多显式(静态分配)成员的类和几个动态分配的指针.
当我在巫婆中声明一个复制构造函数时,我会手动分配成员的深层副本,我不想复制每个静态分配的成员explicite.
如何在显式复制构造函数中使用隐式(默认)复制构造函数?
使用遏制:
class outer
{
public:
outer( const outer& other ) :
members_( other_.members_ ),
pmember_( deep_copy( other.pmember_ ))
{}
// DON'T FORGET ABOUT THESE TOO
outer& operator=( const outer& );
~outer();
private:
struct inner
{
inner( int i, float f ) :
int_( i ), float_( f )
{}
int int_;
float float_;
};
inner members_; //< direct members
something* pmember_; //< indirect member
};
Run Code Online (Sandbox Code Playgroud)