这个类用于禁止拷贝构造函数和赋值操作,但允许移动构造函数和赋值操作
MovableNonCopyable(MovableNonCopyable &&)=default
MovableNonCopyable & operator=(MovableNonCopyable &&)=default
MovableNonCopyable()=default
MovableNonCopyable(const MovableNonCopyable &)=delete
MovableNonCopyable & operator=(const MovableNonCopyable &)=delete
NonCopyable(NonCopyable &&)=delete
NonCopyable & operator=(NonCopyable &&)=delete
NonCopyable(const NonCopyable &)=delete
NonCopyable & operator=(const NonCopyable &)=delete