c++11 线程池实现以及示例
1 |
|
1 | #include "ThreadPool.h" |
总共24种设计模式,6个创建型模式,7个结构型模式,11个行为型模式。
https://blog.csdn.net/liang19890820/article/category/6783147
简单工厂模式-Simple Factory Pattern【学习难度:★★☆☆☆,使用频率:★★★☆☆】
工厂方法模式-Factory Method Pattern【学习难度:★★☆☆☆,使用频率:★★★★★】
抽象工厂模式-Abstract Factory Pattern【学习难度:★★★★☆,使用频率:★★★★★】
单例模式-Singleton Pattern【学习难度:★☆☆☆☆,使用频率:★★★★☆】
原型模式-Prototype Pattern【学习难度:★★★☆☆,使用频率:★★★☆☆】
建造者模式-Builder Pattern【学习难度:★★★★☆,使用频率:★★☆☆☆】
适配器模式-Adapter Pattern【学习难度:★★☆☆☆,使用频率:★★★★☆】
桥接模式-Bridge Pattern【学习难度:★★★☆☆,使用频率:★★★☆☆】
组合模式-Composite Pattern【学习难度:★★★☆☆,使用频率:★★★★☆】
装饰模式-Decorator Pattern【学习难度:★★★☆☆,使用频率:★★★☆☆】
外观模式-Facade Pattern【学习难度:★☆☆☆☆,使用频率:★★★★★】
享元模式-Flyweight Pattern【学习难度:★★★★☆,使用频率:★☆☆☆☆】
代理模式-Proxy Pattern【学习难度:★★★☆☆,使用频率:★★★★☆】
14 . 职责链模式-Chain of Responsibility Pattern【学习难度:★★★☆☆,使用频率:★★☆☆☆】
命令模式-Command Pattern【学习难度:★★★☆☆,使用频率:★★★★☆】
解释器模式-Interpreter Pattern【学习难度:★★★★★,使用频率:★☆☆☆☆】
迭代器模式-Iterator Pattern【学习难度:★★★☆☆,使用频率:★★★★★】
中介者模式-Mediator Pattern【学习难度:★★★☆☆,使用频率:★★☆☆☆】
备忘录模式-Memento Pattern【学习难度:★★☆☆☆,使用频率:★★☆☆☆】
观察者模式-Observer Pattern【学习难度:★★★☆☆,使用频率:★★★★★】
状态模式-State Pattern【学习难度:★★★☆☆,使用频率:★★★☆☆】
策略模式-Strategy Pattern【学习难度:★☆☆☆☆,使用频率:★★★★☆】
模板方法模式-Template Method Pattern【学习难度:★★☆☆☆,使用频率:★★★☆☆】
访问者模式-Visitor Pattern【学习难度:★★★★☆,使用频率:★☆☆☆☆】
(1)目前C++11特性,之前成为C++0X特性,从GCC4.3的后续版本中逐步对C++11进行支持。
(2)从官方信息可以看到,目前从完全对C++11特性进行支持的是从编译器GCC4.8.X的版本。
参考网址:https://gcc.gnu.org/projects/cxx-status.html#cxx11
编译的时候加上参数:
1 | -std=c++11 |
传统 C++ 会把 NULL、0 视为同一种东西,这取决于编译器如何定义NULL,有些编译器会将 NULL 定义为 ((void*)0),有些则会直接将其定义为 0.
C++ 不允许直接将 void * 隐式转换到其他类型,但如果 NULL 被定义为 ((void*)0),那么当编译char *ch = NULL;时,NULL 只好被定义为 0。
这样就会导致重载特性混乱,比如foo(NULL)调用的是foo(int)
1 | void foo(char *); |
MAC即Media Access Control,即媒体访问控制子层协议.该协议位于OSI七层协议中数据链路层的下半部分,主要负责控制与连接物理层的物理介质.在发送数据的时候,MAC协议可以事先判断是否可以发送数据,如果可以发送将给数据加上一些控制信息,最终将数据以及控制信息以规定的格式发送到物理层;在接收数据的时候,MAC协议首先判断输入的信息并是否发生传输错误,如果没有错误,则去掉控制信息发送至LLC层.该层协议是以太网MAC由IEEE-802.3以太网标准定义.最新的MAC同时支持10Mbps和100Mbps两种速率.
单开口,预留空间
emplace_back[c++11] 在最后构造并插入
后进先出 使用deque/list,不用vector的原因应该是容量大小有限制,扩容耗时
先进先出 使用deque/list,不用vector的原因应该是容量大小有限制,扩容耗时
https://shadowsocks.com/client.html