![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
文章平均质量分 76
BirdsLife
有问题欢迎一起讨论学习
展开
-
《C++20设计模式》学习笔记---单例模式
单例模式并不完全令人厌恶,但是,如果不小心使用,它们会破坏应用程序的可测试性可可重构性。如果必须使用单例模式,请尝试避免直接使用它(如编写SomeComponent.get().foo()),将其指定为依赖项(例如,作为构造函数的参数),并保证所有依赖项都是从应用程序的某个唯一的位置(例如,控制反转容器)获取或初始化的。原创 2023-12-08 20:48:52 · 1211 阅读 · 2 评论 -
《C++20设计模式》学习笔记---原型模式
原型模式体现了对对象进行深度拷贝的概念,因此,不必每次都进行完全初始化,而是可以获取一个预定义的对象,拷贝它,稍微修改它,然后独立于原始的对象使用它。编写正确拷贝原始对象的代码,也就是执行深度拷贝的代码。这项工作可以在拷贝构造函数 / 拷贝赋值运算符或者单独的成员函数中完成。编写支持序列化 / 反序列化的代码,使用序列化 / 反序列化机制,在完成序列化后立即进行反序列化,由此完成复制。该方法会引入额外的开销,是否使用这种方法取决于具体使用场景下的拷贝频率。原创 2023-12-06 21:02:32 · 1135 阅读 · 0 评论 -
《C++20设计模式》学习笔记---工厂方法和抽象工厂模式
工厂方法:类的成员函数,用于创建对象,它通常可以替换构造函数。工厂:一个类,它知道如何创建对象。不过,如果为imen传入给一个函数可以创建对象的参数(如函数或类似的对象),那么这个参数也被称为工厂。正如其名所表示的意义,抽象类可以被具体的类继承。由此产生了一个工厂族群。实际开发中抽象工厂很少见。工厂可以拒绝构建对象,也就是说,工厂可以返回默认初始化的智能指针,可以返回optional或者空指针nullptr,而不用必须返回一个对象。原创 2023-12-04 21:40:34 · 1100 阅读 · 0 评论 -
《C++20设计模式》学习笔记---工厂方法及抽象工厂模式代码
【代码】《C++20设计模式》学习笔记---工厂方法及抽象工厂模式代码。原创 2023-12-04 21:38:46 · 480 阅读 · 0 评论 -
《C++20设计模式》学习笔记--构造器模式
构造器模式的目的是简化复杂对象或一系列对象的构建过程,从而单独定义构成该复杂对象的各个组件的构建方法。构造器模式可以通过流式接口调用链来实现复杂的构建过程。为了实现流式接口,构造器函数需要返回this或 *this。为了强制用户使用构造器的API,我们可以将目标对象的构造函数限制为不可访问,同时,定义一个create()接口返回构造器。通过定义适当的运算符,可以使构造器转化为对象本身。借助C++新特性中的统一初始化语法,可以实现Groovy风格的构造器。原创 2023-11-30 21:33:43 · 1192 阅读 · 4 评论 -
《C++20设计模式》学习笔记代码---构造器模式
【代码】《C++20设计模式》学习笔记代码---构造器模式。原创 2023-11-30 21:35:14 · 422 阅读 · 0 评论 -
makefile报错:linker input file unused bacause linking not done
1.make后报错2.通过参考http://blog.sina.com.cn/s/blog_87c063060101ativ.html博客最终找出自己的错误 1)之前的maleficent文件 OBJS = add/add_int.o add/add_float.o sub/sub_int.o sub/sub_float.o main.o CFLAGS = -I...原创 2018-04-02 17:33:30 · 4906 阅读 · 0 评论