上一页 1 2 3 4 5 6 7 8 9 ··· 18 下一页
摘要: 这个模式也比较常见,但是可能不常用。解决的也是对象创建的问题,但是这个和工厂模式有点不同,工厂模式可能创建的是一个新的对象, 但是这个对象的具体的状态可能你不太关心,可能一个memset就OK了。但是有的时候状态的设置可能是比较复杂的,而且不想写那个过程,那么就可以用原型模式。 常见的原型模式,cv 阅读全文
posted @ 2020-11-22 19:27 cyssmile 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 安装工具 pip install cpplint # 检查是否符合规范 pip install clang-format # 一键调整 调整 cpplint *.cpp # 检查代码 clang-format -i *.cpp # 一键调整 阅读全文
posted @ 2020-11-19 19:33 cyssmile 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 头文件 #include <mcheck.h> 头文件内容 /* Copyright (C) 1996-2016 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is f 阅读全文
posted @ 2020-11-19 10:22 cyssmile 阅读(1024) 评论(0) 推荐(0) 编辑
摘要: 1. Builder Pattern 建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 建造者模式的目的很简单就是将一个复杂的对象的创建与其表示想分离。解决的问题就是那种组件基本固定不变而组 阅读全文
posted @ 2020-11-18 19:38 cyssmile 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 官网下载一个版本 Valgrind : Current Releases 下载解压安装 mkdir tools cd tools wget https://sourceware.org/pub/valgrind/valgrind-3.16.1.tar.bz2 tar -jxvf valgrind-3 阅读全文
posted @ 2020-11-17 15:41 cyssmile 阅读(56) 评论(0) 推荐(0) 编辑
摘要: stod double stod (const string& str, size_t* idx = 0); double stod (const wstring& str, size_t* idx = 0); Convert string to double Parses str interpre 阅读全文
posted @ 2020-11-16 14:56 cyssmile 阅读(290) 评论(0) 推荐(0) 编辑
摘要: ldd命令 一般我们看一个可执行文件需要链接那些库,我们可以使用ldd命令 比如这个是我ldd一个可执行程序的结果。 => 的左边是需要链接的.so,右边是系统的相应的位置。 如果发现右边没有,实际上自己是有这个库的,可以软链接一下。比如 ln -s 源文件 目标文件 ldd 可以加上参数 -v , 阅读全文
posted @ 2020-11-16 10:40 cyssmile 阅读(1494) 评论(0) 推荐(0) 编辑
摘要: 意图: 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 同时由于需求的变化,往往存在更多的系列的对象的创建工作。 注意这个关键字“一系列”,就代表抽象工厂,是一系列相同产品的对象创建工厂的集合。 主要解决: 主要解决接口选择的问题。 何时使用: 系统的产品有多于一个的产品族,而 阅读全文
posted @ 2020-11-13 16:54 cyssmile 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 经常听人说工厂方法+反射机制+单例模式,可以解决大多数的对象创建的问题。但是什么是工厂方法呢?还有其他什么鬼呢? 这里先介绍简单的工厂方法,也就是Factory Method方法,既然这是简单的,那岂不是还有复制的或者其它,那是当然的。不过都得一步一步来嘛。 做什么? 首先明确我们用工厂模式做什么? 阅读全文
posted @ 2020-11-11 17:18 cyssmile 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 不喜欢长篇大论的,可以直接看文章最后面的一张图和我自己实现的代码。 装饰者模式 在某些情况我们可能会“过度的使用继承来拓展对象的功能”,由于继承为类型引入的静态特质,使得这种拓展方式缺乏灵活性;并且随着子类的增多(拓展功能的增多), 各个子类的组合(拓展功能的组合)会导致子类的膨胀。 如何使得“对象 阅读全文
posted @ 2020-11-11 11:37 cyssmile 阅读(268) 评论(1) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 ··· 18 下一页