2018年8月23日

空间配置器

摘要: 剖析源码的项目:空间配置器:因为存在内存碎片的问题和效率的问题,所以引入了空间配置器 一、空间配置器:本身是一个内存池 容器是需要大量空间的 池化技术:a、内存池(用于频繁申请不大的内存);b、线程池(并发时经常要创建时);c、连接池(通常用于数据库的连接,每次创建和销毁sockets都是有时间消耗 阅读全文

posted @ 2018-08-23 14:45 众里寻他2018 阅读(90) 评论(0) 推荐(0)

STL

摘要: STL:C++标准模板库 A、HP版本 SGI(所有的SGI版本都是继承自HP版本 1、常用的数据结构的封装 2、通用的算法:模板(让处理的数据与类型无关)+仿函数(函数指针) B、六大组件: 容器: a、线性结构(序列式容器) string:管理字符串(字符串类型的动态顺序表) array:静态顺 阅读全文

posted @ 2018-08-23 14:44 众里寻他2018 阅读(80) 评论(0) 推荐(0)

摘要: 一、堆的实现,简单的功能: #pragma once # include<stdio.h> # include<stdlib.h> # include<assert.h> # include<malloc.h> typedef int DataType; typedef struct Heap { 阅读全文

posted @ 2018-08-23 14:43 众里寻他2018 阅读(88) 评论(0) 推荐(0)

二叉搜索树

摘要: 一、二叉搜索树的查找和插入: #pragma once # include<stdio.h> # include<stdlib.h> # include<assert.h> # include<malloc.h> typedef int DataType; typedef struct BSTree 阅读全文

posted @ 2018-08-23 14:42 众里寻他2018 阅读(85) 评论(0) 推荐(0)

二叉树的应用

摘要: 一、层序遍历的应用: 镜像:还需要引入队列,同上一篇博客。 .h # pragma once # include<assert.h> # include<malloc.h> # include<stdio.h> # include<stdlib.h> # include<string.h> # in 阅读全文

posted @ 2018-08-23 14:40 众里寻他2018 阅读(108) 评论(0) 推荐(0)

2018年8月14日

二叉树遍历的基本操作:创建、销毁;层序遍历

摘要: 一、简单的创建、销毁 ​ .h # pragma once # include<assert.h> # include<malloc.h> # include<stdio.h> # include<stdlib.h> # include<string.h> typedef char DataType 阅读全文

posted @ 2018-08-14 21:03 众里寻他2018 阅读(98) 评论(0) 推荐(0)

2018年8月12日

二叉树,非递归实现(前序、中序、后序)

摘要: 一、结合栈的方式实现,先让右孩子入栈,在让左孩子入栈。栈为空后,结束遍历。 头文件.根据具体的函数名自己创建,另外需要使用栈,引用栈的头文件 stack.h # pragma oncee # include<stdio.h> # include<stdlib.h> # include<string. 阅读全文

posted @ 2018-08-12 10:44 众里寻他2018 阅读(60) 评论(0) 推荐(0)

2018年8月7日

摘要: 想要更深入的理解循环引用,请先浏览上一篇博客:智能指针 那么我先对我上一篇博客的主要内容,做一个简单的回顾把: 1、shared_ptr:引用计数 (1)不同类型的指针,销毁方式不同,此外我还实现了一个定制删除器:a、函数指针;b、仿函数:把一个对象像函数一样使用(在函数名字后面跟上参数列表)【A 阅读全文

posted @ 2018-08-07 18:17 众里寻他2018 阅读(68) 评论(0) 推荐(0)

2018年8月6日

智能指针一

摘要: 一、资源分配即初始化:定义一个类来封装资源的分配和释放,在构造函数完成资源的分配和初始化,在析构函数完成资源的清理,可以保证资源的正 确初始化和释放(构造函数负责把资源分配给你,析构函数负责释放资源) 建议:在任何时候都不要使用AutoPtr,除非不用调用拷贝构造、赋值运算符的重载 template 阅读全文

posted @ 2018-08-06 01:54 众里寻他2018 阅读(55) 评论(0) 推荐(0)

2018年8月5日

异常(C++中的异常处理)

摘要: 一、传统错误的处理方式: 1、终止程序(除数为0) 2、返回一个标识错误的值,附加错误码(GetLasrError) 执行下述代码,若是该文件不存在,会出现错误, 方式1:直接从监视窗口输出错误: #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> # 阅读全文

posted @ 2018-08-05 15:39 众里寻他2018 阅读(135) 评论(0) 推荐(0)

导航