浅墨浓香

想要天亮进城,就得天黑赶路。
随笔 - 743, 文章 - 16, 评论 - 87, 阅读 - 53万

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

11 2017 档案

该文被密码保护。

posted @ 2017-11-30 11:27 浅墨浓香 阅读(12) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2017-11-28 22:29 浅墨浓香 阅读(13) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2017-11-28 21:40 浅墨浓香 阅读(10) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2017-11-28 20:46 浅墨浓香 阅读(11) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2017-11-28 15:33 浅墨浓香 阅读(16) 评论(0) 推荐(0) 编辑

摘要:1. 存储结构 (1)继承关系 (2)设计要点 ①BTree为二叉树结构,每个结点最多只有两个后继结点 ②BTreeNode只包含4个固定的公有成员(value、parent、left、right) ③实现树结构的所有操作(增、删、查等) 2. BTreeNode的设计与实现 (1)继承自TreeN 阅读全文

posted @ 2017-11-28 12:24 浅墨浓香 阅读(356) 评论(0) 推荐(0) 编辑

摘要:1. 二叉树的深层性质 (1)性质1: 在二叉树的第i层最多有2i-1个结点(i≥1) ①第1层最多有:21-1 = 1个结点 ②第2层最多有:22-1 = 2个结点 ③第3层最多有:23-1 = 4个结点 ④…… (2)性质2:高度为k的二叉树,最多有2k-1个结点(k≥0)(即满二叉树的情况) 阅读全文

posted @ 2017-11-28 00:20 浅墨浓香 阅读(360) 评论(0) 推荐(0) 编辑

摘要:1. 通用树的回顾 (1)双亲孩子表示法 ①每个结点都有一个指向其双亲的指针 ②每个结点都有若干个指向其孩子的指针 (2)孩子兄弟表示法(二叉树) ①每个结点都有一个指向其第一个孩子的指针 ②每个结点都有一个指向第一个右兄弟的指针 (3) 孩子兄弟表示法的特点 ①能够表示任意的树形结构 ②每个结点包 阅读全文

posted @ 2017-11-27 22:00 浅墨浓香 阅读(272) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2017-11-26 13:20 浅墨浓香 阅读(11) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2017-11-23 00:11 浅墨浓香 阅读(12) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2017-11-21 23:39 浅墨浓香 阅读(9) 评论(0) 推荐(0) 编辑

该文被密码保护。

posted @ 2017-11-21 22:13 浅墨浓香 阅读(10) 评论(0) 推荐(0) 编辑

摘要:1. TupleHelper的主要功能 (1)打印:由于tuple中的元素是可变参数模板,外部并不知道内部到底是什么数据,有时调试时需要知道其具体值,希望能打印出tuple中所有的元素值。 (2)根据元素值获取索引位置:tuple接口中有根据索引位置获取元素的接口,根据元素值来获取索引位置是相反的做 阅读全文

posted @ 2017-11-18 23:27 浅墨浓香 阅读(1011) 评论(0) 推荐(0) 编辑

摘要:1. any类的实现 (1)any类: ①是一个特殊的,只能容纳一个元素的容器,它可以擦除类型,可以将何任类型的值赋值给它。 ②使用时,需要根据实际类型将any对象转换为实际的对象。 (2)实现any的关键技术 ①当赋值给any时,需要将值的类型擦除,即以一种通用的方式保存所有类型的数据。通常是通过 阅读全文

posted @ 2017-11-17 20:33 浅墨浓香 阅读(878) 评论(0) 推荐(0) 编辑

摘要:1. function_traits (1)function_traits的作用:获取函数的实际类型、返回值类型、参数个数和具体类型等。它能获取所有函数语义类型信息。可以获取普通函数、函数指针、std::function、函数对象和成员函数等的相关信息。 (2)实现function_traits的关 阅读全文

posted @ 2017-11-17 20:32 浅墨浓香 阅读(1183) 评论(0) 推荐(0) 编辑

摘要:1. dll帮助类 (1)dll的动态链接 ①传统的调用方式:先调用LoadLibrary来加载dll,再定义函数指针类型,接着调用GetProcAddress获取函数地址。然后通过函数指针调用函数,最后通过FreeLibrary卸载dll ②问题:使用dll的过程存在重复逻辑。此外,如果dll中的 阅读全文

posted @ 2017-11-12 23:57 浅墨浓香 阅读(1039) 评论(0) 推荐(0) 编辑

摘要:1. optional类的实现 (1)optional的功能 ①optional<T>的内部存储空间可能存储了T类型的值,也可能没有。只有当optional被T初始化之后,这个optional才是有效的。否则是无效的。它实现了未初始化的概念。 ②optional可以用于解决函数返回无效值的问题。当函 阅读全文

posted @ 2017-11-11 23:39 浅墨浓香 阅读(599) 评论(0) 推荐(1) 编辑

摘要:1. 模板参数包 (1)模板参数包的类型 ①类型参数包(Type parameter packs):如template<typname… T> class tuple; ②非类型参数包(Non-type parameter packs):如template<int…A> class Test{}; 阅读全文

posted @ 2017-11-11 13:56 浅墨浓香 阅读(2007) 评论(0) 推荐(1) 编辑

摘要:1. 可变参数模板函数 (1)递归函数方式展开参数包 ①一般需要提供前向声明、一个参数包的展开函数和一个递归终止函数。 ②前向声明有时可省略,递归终止函数可以是0个或n个参数 (2)逗号表达式和初始化列表方式展开参数包 ①逗号表达式按顺序执行,返回最后一个表达式的值。 ②initilizer_lis 阅读全文

posted @ 2017-11-05 14:01 浅墨浓香 阅读(4275) 评论(0) 推荐(2) 编辑

摘要:1. 参数包(parameter pack) (1)模板参数包(以tuple为例):template<typename… Elements>class tuple ①Elements标识符的左侧使用了省略号,在C++11中Elements被称为“模板参数包”,表示可以接受任意多个参数作为模板参数。 阅读全文

posted @ 2017-11-04 21:42 浅墨浓香 阅读(1428) 评论(0) 推荐(1) 编辑

摘要:1. std::conditional (1)原型:template <bool Cond, class T, class F> struct conditional; //根据条件获取T或F类型 template<bool Cond, class T, class F> //泛化 struct c 阅读全文

posted @ 2017-11-04 09:37 浅墨浓香 阅读(1803) 评论(0) 推荐(2) 编辑

摘要:1. 获取可调用对象返回类型 (1)decltype:获取变量或表达式的类型(见第2课) (2)declval及原型 ①原型:template<class T> T&& declval();——函数模板,返回值T&& ②decltype的局限性:如果模板参数无构造函数,就不能构造出对象,也就无法获取 阅读全文

posted @ 2017-11-02 22:10 浅墨浓香 阅读(1692) 评论(0) 推荐(1) 编辑

摘要:1. type_traits类型萃取 (1)type_traits通过定义一些结构体或类,并利用模板类特化和偏特化的能力,给类型赋予一些特性,这些特性根据类型的不同而异。在程序设计中可以使用这些traits来判断一个类型的一些特性,引发C++的函数重载机制,实现同一种操作因类型不同而异的效果。 (2 阅读全文

posted @ 2017-11-01 18:53 浅墨浓香 阅读(4481) 评论(0) 推荐(2) 编辑

点击右上角即可分享
微信分享提示