从这里开始就是剖析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.