随笔分类 - C++沉思
C++语言高级主题或特俗目的专题,譬如“内存分配”、“仿函数”、“对象间关系”、“模版特例化”
摘要:The Usage of Lambda and Heap in the C++ STL Heap In c++ STL, the heap had been implemented as the priority_queue . Lambda with STL To use decltype to
阅读全文
摘要:Observer 模式在实践中的应用场景: 为 Point 类设计一个数据绑定机制,当其坐标 x 或 y 被更改时,可以通知外界其更改的过程。将更改过程打印在控制台上。考虑使用松耦合设计。 代码:
阅读全文
摘要:对于这样一种类与类之间的关系,我们希望为其编写“深拷贝”。两个类的定义如下: 1. 构造函数 2. 拷贝构造函数 3. 赋值构造函数 全部代码 & 测试用例 #include <iostream> using namespace std; struct Shape { int no; //形状编号
阅读全文
摘要:摘要 《C++ Primer》习题14.38和14.39分别采用策略模式、模版方法解决问题。 问题 《C++ Primer 5th》习题 14.38 : 编写一个类令其检查某个给定的 string 对象的长度是否与一个阀值相等。使用该对象编写程序,统计并报告输入的文件中长度为 1 的单词有...
阅读全文
摘要:特性(traits):对于某种可能会出错的返回值型别(Return Type),利用类模版进行部分特例化。其思想类似设计模式。 我们只能部分特例化类模板,而不能部分特例化函数模版。——《C++ Primer(5th)》 P628part 1.实现 Sigma 函数 功能:将一段范围内的元...
阅读全文
摘要:part 1. 仿函数在STL组件中的关系 如下图: # 仿函数配合算法完成不同的策略变化。 # 适配器套接仿函数。part 2. 仿函数介绍 传递给算法的“函数型实参”不一定得是函数,可以是行为类似函数的对象。这种对象称为函数对象(function object),或称为仿函数(funct...
阅读全文