上一页 1 ··· 5 6 7 8 9 10 下一页

2021年5月24日

策略模式

摘要: 策略模式 策略是一种行为设计模式, 它将一组行为转换为对象, 并使其在原始上下文对象内部能够相互替换。原始对象被称为上下文, 它包含指向策略对象的引用并将执行行为的任务分派给策略对象。 为了改变上下文完成其工作的方式, 其他对象可以使用另一个对象来替换当前链接的策略对象。 应用场景 一天, 你打算为 阅读全文

posted @ 2021-05-24 15:28 Ultraman_X 阅读(40) 评论(0) 推荐(0) 编辑

桥接模式

摘要: 桥接模式 桥接是一种结构型设计模式, 可将业务逻辑或一个大类拆分为不同的层次结构, 从而能独立地进行开发。 场景 这样一个问题: 客户给了你一个需求,于是使用一个类来实现(A); 客户需求变化,有两个算法实现功能,于是改变设计,我们通过一个抽象的基类,再定义两个具体类实现两个不同的算法(A1和A2) 阅读全文

posted @ 2021-05-24 15:26 Ultraman_X 阅读(53) 评论(0) 推荐(0) 编辑

2021年5月23日

cpp调用函数详细过程

摘要: https://blog.csdn.net/fu_zk/article/details/9798185 阅读全文

posted @ 2021-05-23 14:44 Ultraman_X 阅读(114) 评论(0) 推荐(0) 编辑

2021年5月19日

lambda

摘要: Lambda lambda 表达式 仅仅是一个表达式,例如 std::find_if(container.begin(),container.end(), [](int val) {return 0 < val && val < 10;} ); 中的 [](int val) {return 0 < 阅读全文

posted @ 2021-05-19 17:03 Ultraman_X 阅读(58) 评论(0) 推荐(0) 编辑

universal references

摘要: 避免overloading on universal references std::multiset<std::string> names; void logAndAdd(const std::string&name) { auto now = std::chrono::system_clock: 阅读全文

posted @ 2021-05-19 11:54 Ultraman_X 阅读(50) 评论(0) 推荐(0) 编辑

Copy Elision

摘要: Copy Elision Mandatory(强制性) elision of copy/move operations Under the following circumstances, the compilers are required to omit the copy and move co 阅读全文

posted @ 2021-05-19 10:30 Ultraman_X 阅读(56) 评论(0) 推荐(0) 编辑

2021年5月17日

适配器模式

摘要: 适配器模式 应用场景 当你希望使用某个类, 但是其接口与其他代码不兼容时, 可以使用适配器类。 实现方式 确保至少有两个类的接口不兼容 声明客户端接口, 描述客户端如何与服务交互。 创建遵循客户端接口的适配器类。 所有方法暂时都为空。 在适配器类中添加一个成员变量用于保存对于服务对象的引用。 通常情 阅读全文

posted @ 2021-05-17 19:08 Ultraman_X 阅读(47) 评论(0) 推荐(0) 编辑

生成者模式

摘要: 生产器模式 应用场景: 假设你的构造函数中有十个可选参数, 那么调用该函数会非常不方便; 因此, 你需要重载这个构造函数, 新建几个只有较少参数的简化版。 但这些构造函数仍需调用主构造函数, 传递一些默认数值来替代省略掉的参数。生成器模式让你可以分步骤生成对象, 而且允许你仅使用必须的步骤。 应用该 阅读全文

posted @ 2021-05-17 16:35 Ultraman_X 阅读(61) 评论(0) 推荐(0) 编辑

2021年5月8日

c11 move 和 forward

摘要: c++11 : move forward 右值 如果一个数你可以获取他的地址那么他就是左值,否则为右值。给定一个类型T,他可以是左值的类型,也可以是右值的类型。这一点很重要。需要记住的是当处理右值引用类型的时候,他的参数本身是个左值。右值代表了这个对象可以进行move操作。 void f(Widge 阅读全文

posted @ 2021-05-08 16:49 Ultraman_X 阅读(221) 评论(0) 推荐(0) 编辑

2021年5月7日

C++内存模型

摘要: 一、存储区域: 堆 heap :由malloc分配的内存块,其释放编译器不去管,由我们程序自己控制(一个malloc对应一个free)。如果程序员没有释放掉,在程序结束时OS会自动回收。涉及的问题:“缓冲区溢出”、“内存泄露”2. 自由存储区(free store):由new分配的内存块,其释放编译 阅读全文

posted @ 2021-05-07 08:54 Ultraman_X 阅读(81) 评论(0) 推荐(0) 编辑

上一页 1 ··· 5 6 7 8 9 10 下一页

导航