muduo 中的大多数 class 都是不可拷贝的,有小部分是可拷贝的。
不可拷贝的 class 将继承 类 noncopyable
可拷贝的 class 将继承 类 copyable
noncopyable.h
noncopyable (const noncopyable&) = delete;
void operator=(const noncopyable&) = delete;
在拷贝构造函数和赋值函数定义后面加上 =delete 表示基类以及其派生类无法进行拷贝构造和赋值操作
noncopyable() = default;
~noncopyable() = default;
在构造函数和析构函数定义后面加上 =default 表示使用默认的构造和析构函数,派生类就不用写了
copyable.h
Copyable() = default;
~Copyable() = default;
使用 =default 来要求编译器生成一个默认构造函数