设计模式(持续更新)

单例模式:

懒汉:

cpp 复制代码
public:
    static Instance& getInstance()
    {
        static instance=new Instance();
        return instance;
    }
前提:Instance(const Instance&)=delete;
Instance(Instance&&)=delete;
Instance& operator=(const Instance&) = delete;

线程安全的懒汉模式

cpp 复制代码
线程安全的:
class Instance{
private:
static Instance* instance;
mutex mut;
public:
static Instance* getInstance();
}
Instance *Instance::instance=nullptr;
Instance::mut;
Instance* Instance::getInstance()
{
    if(instance==nullptr)
    {
        lock_guard<mutex>lock(mut);
        if(instance==nullptr)
        {
            instance=new Instance();
        }
    
    }
    return instance;
}

饿汉模式:

cpp 复制代码
class Instance{
private:
static Instance instance=new Instance();
mutex mut;
public:
static Instance& getInstance();
}
Instance& Instance::getInstance()
{
    return instance;
}

工厂模式:

比较简单但是代码很多,直接放图:

简单工厂:就是创业公司,一个人干多个活

工厂方法:外包,丢给你一个专门的业务

抽象工厂:大厂的核心部门,一个具体工厂干很多核心业务

后面的慢慢补了。。。

相关推荐
DeniuHe几秒前
C++实现在数组中找到重复元素及其出现的次数。
开发语言·c++·哈希算法
hz_zhangrl18 分钟前
CCF-GESP 等级考试 2025年12月认证C++五级真题解析
c++·算法·青少年编程·gesp·gesp2025年12月·c++五级
七夜zippoe42 分钟前
设计模式在Python中的优雅实现:从新手到专家的进阶指南
开发语言·python·设计模式·性能优化·pythonic
leiming61 小时前
c++ 内建函数对象
开发语言·c++·算法
橘颂TA1 小时前
【剑斩OFFER】算法的暴力美学——存在重复元素
数据结构·c++·算法·力扣·散列表·结构与算法
2301_807288631 小时前
MPRPC项目(第十天,日志功能实现)
开发语言·c++
王老师青少年编程1 小时前
2025年12月GESP(C++五级): 相等序列
c++·算法·gesp·csp·五级·信奥赛·相等序列
王老师青少年编程1 小时前
信奥赛C++提高组csp-s之并查集
数据结构·c++·并查集·csp·信奥赛·csp-s·提高组
初夏睡觉1 小时前
从0开始c++,第2篇之(输出语句)
开发语言·c++·算法
明洞日记1 小时前
【ITK手册001】ITK 架构核心:itk::Object 基类解析与应用指南
c++·图像处理·架构·图形渲染·itk