摘要:
对象池 概念 对象池模式(Object Pool Pattern),是创建型设计模式的一种,将对象预先创建并初始化后放入对象池中,对象提供者就能利用已有的对象来处理请求,减少频繁创建对象所占用的内存空间和初始化时间。 对象池的用户可以从池子中取得对象,对其进行操作处理,并在不需要时归还给池子而非直接 阅读全文
摘要:
线程安全队列(使用互斥锁进行实现) 没有设置队列上限的线程安全队列 只需要采取一个std::condition_variable变量,用于处理队列为空的情况 以下是示例代码,涉及了std::mutex和std::condition_variable、std::unique_lock、std::loc 阅读全文
摘要:
简单工厂模式 把创建封装进一个类里,当实现变化时,我们只需要修改这一个地方。 类图如下 工厂方法处理对象的创建,并将对象的创建封装在子类中,使得客户代码从子类对象的创建代码解耦。 代码示例如下 #include <iostream> using namespace std; class Produc 阅读全文
摘要:
完美转发 完美转发(Perfect Forwarding)是 C++11 中引入的一种编程技巧,其目的是在编写泛型函数时能够保留参数的类型和值类别(左值或右值),从而实现更为高效且准确地传递参数。通过使用右值引用和模板类型推导,完美转发允许我们在函数中以原始参数的形式将参数传递给其他函数,而不会发生 阅读全文
摘要:
单例模式 定义 单件模式确保一个类只有一个实例,并提供一个全局访问点。 单件模式 对比 全局变量的好处: 不需要在启动时就被创建,需要时就可以创建。 实现 私有构造函数确保了只有类本身能够创建自己的对象。 删除析构函数通常意味着单例对象应该一直存活直到程序结束。在单例模式中,这通常是可取的,因为单例 阅读全文