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

2021年5月19日

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 阅读(71) 评论(0) 推荐(0)

2021年5月17日

适配器模式

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

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

生成者模式

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

posted @ 2021-05-17 16:35 Ultraman_X 阅读(74) 评论(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 阅读(269) 评论(0) 推荐(0)

2021年5月7日

C++内存模型

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

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

2021年3月9日

二叉树遍历

摘要: 深度遍历 非递归: 1 void dfs(TreeNode*root) 2 { 3 if (root == NULL) return; 4 stack<TreeNode*> stackNode; 5 printf("%d", root->data); 6 7 stackNode.push(root) 阅读全文

posted @ 2021-03-09 18:02 Ultraman_X 阅读(34) 评论(0) 推荐(0)

2021年3月8日

二进制表示整数、浮点数的方法

摘要: 二进制表示整数、浮点数的方法 二进制数(binary number)用 2 个数字作基础,其中每一个二进制数字(称为位,bit)不是 0 就是 1。在书写较大的二进制数时,有些人喜欢每 4 位或 8 位插入一个点号,以增加数字的易读性。比如,1101.1110.0011.1000.0000 和 11 阅读全文

posted @ 2021-03-08 14:22 Ultraman_X 阅读(486) 评论(0) 推荐(0)

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

导航