从这里开始就是剖析muduo网络库项目了。
出发!!!!

noncopy.h

这个头文件时其他类的基类。

//pragma是编译器级别和语言级别#ifndef一样
#pragma once

class noncopyable
{
   
public:
    noncopyable(const noncopyable&) = delete;
    noncopyable& operator=(const noncopyable&) = delete;
protected:
    noncopyable() = default;
    ~noncopyable() = default;
};

陈硕大神很巧妙的把拷贝和构造都给delete,构造和析构则表示使用默认的。

  • delete表示基类以及其派生类无法进行拷贝构造和赋值操作
  • default表示使用默认的构造和析构函数,派生类就不用写了

参考文献

[1] 施磊.重写moduo库.图论科技.2020.7.