随笔分类 -  C/C++

摘要:我看到网上有很多人都在说虚继承和虚表的关系,我一直很郁闷,虚继承和虚表没有什么太大的关系,虚表是当有虚函数出现的时候才会有的,光是使用虚继承是不会有虚表的!当然也就不会有虚表指针!!从我后面的截图可以看到使用虚继承对象的内存构造中并没有出现虚表指针!跟虚继承有关的是一个虚基类表(vbptr),这个表 阅读全文
posted @ 2016-05-13 19:45 leno米雷 阅读(2412) 评论(5) 推荐(1)
摘要:实在不知道该怎么起标题了,类似遍历一个文件夹然后获得该文件夹下的文件列表,可以随意切换文件目录,是个不是特别大的东西,本来是用在我们小组写的简易ftp服务器上的一个给客户端显示的一个小插件一样的东西?总之单拿出来应该没啥含量,调用了windows的一些API 头文件包的有些多了,有的没用,是之前自己 阅读全文
posted @ 2016-05-11 14:46 leno米雷 阅读(409) 评论(0) 推荐(0)
摘要:本来用之前也过的堆直接实现比较好,这里我直接重新写一了函数融入进去了 注释部分的代码,是用来进行哈夫曼编码的,这种编码方式就不需要使用三叉链的树了(带有parent指针的三叉树) 阅读全文
posted @ 2016-05-05 14:55 leno米雷 阅读(504) 评论(0) 推荐(0)
摘要:常考的函数有下面三个,memset,memcpy,memmove,一定要记住三个函数的函数原型,熟记返回值类型和参数类型,当然也不能忘记参数检查 memset 一定要先把void*的指针强制转化成char *再进行操作,不然拿void*是没办法的 memcpy memcpy是没有考虑内存覆盖问题的, 阅读全文
posted @ 2016-05-05 09:31 leno米雷 阅读(494) 评论(0) 推荐(0)
摘要:这次贴上二叉搜索树的实现,搜索插入删除我都实现了递归和非递归两种版本(递归函数后面有_R标识) 二叉搜索树的性质: 每个节点都有一个作为搜索依据的关键码(key),所有节点的关键码互不相同。 左子树上所有节点的关键码(key)都小于根节点的关键码(key)。 右子树上所有节点的关键码(key)都大于 阅读全文
posted @ 2016-04-15 11:34 leno米雷 阅读(313) 评论(0) 推荐(0)
摘要:今天就可以把STL库中迭代器的实现,和类型萃取好好整理一下了 迭代器的设计思维是STL的关键所在,在STL的实际运用和泛型思维,迭代器都扮演着十分重要的角色,STL力求把数据容器和算法的概念分开来,于是就有了STL的两大部分,容器(container)和泛型算法(algorithms),泛型算法有很 阅读全文
posted @ 2016-04-13 11:50 leno米雷 阅读(2142) 评论(0) 推荐(0)
摘要:所谓的基数排序原理就和哈希表极像,适合使用在待排序的数都处在一个比较小的范围内,开辟好一定的辅助空间,按照直接定址法,将辅助空间对应的位置的计数增加,最后排序的时候只要把之前建好的辅助数组遍历输出一遍就好了 基数排序又被称为桶排序,这里的代码例子是完成一个几位数的排序,可以看成先根据个位的数大小进行 阅读全文
posted @ 2016-04-13 10:17 leno米雷 阅读(602) 评论(0) 推荐(0)
摘要:今天集中把几种排序的方法列一下,当然最出名的希尔,快排,归并和其优化当然也是满载 说到希尔排序的话,不得不先提到的就是插入排序了,希尔排序就是对直接插入排序的一种优化,下面就是直接插入排序的思想 直接插入排序 这就是直接插入排序的代码,思想很简单,代码也很简单 为什么希尔排序比直接插入排序更加优化呢 阅读全文
posted @ 2016-04-09 11:21 leno米雷 阅读(1333) 评论(2) 推荐(2)
摘要:看到了迭代器这里,想到了应该把智能指针的知识总结一下了 我实现了三种智能指针,分别是auto_ptr,scoped_ptr,shared_ptr命名是根据boost库中的智能指针命名的 什么是智能指针?智能指针可以帮助你在忘记释放new出来的内存的时候自动帮助你释放内存 可以有效避免内存泄漏 例如当 阅读全文
posted @ 2016-04-07 16:08 leno米雷 阅读(451) 评论(2) 推荐(2)
摘要:类型萃取被整理到STL迭代器剖析里卖了!!在那里面说的更清楚! 模版的模板参数主要使用在类的类成员也是个模板类,当你想只输入一个模板参数,就可以同时对类内的其他类成员传入相同的模板参数的时候就可以使用咯 这个就是模板的模版参数的一个简单实现,用来实现类的类成员和该类模板使用类型一致的方法 那什么是仿 阅读全文
posted @ 2016-04-06 16:31 leno米雷 阅读(1128) 评论(1) 推荐(0)
摘要:正在学习中,如果有错,还请多多指教,根据不断的理解,会进行更改,更改之前的样子都会保留下来,记录错误是最大的进步,嗯嗯! 具有次配置力的SGI空间配置器(SGI是STL的一种版本,也有其他的版本) 这里我就不贴出来具体成员和接口的实现了,网上可以搜到STL的源码 C++中,new一个变量可以分为两个 阅读全文
posted @ 2016-04-06 11:25 leno米雷 阅读(764) 评论(1) 推荐(0)
摘要:在STL中有着一个类就是string类,他的内存布局和存储机制究竟是怎么样的呢? 这就是建立好的string 可以看出,图中用黄色框框标注的部分就是主要区域 我们用来给string对象进行初始化的字符串被存储在了_Buf当中,_Mysize和_Myres就不用说了,就是上面的size 和 capac 阅读全文
posted @ 2016-04-05 11:30 leno米雷 阅读(1181) 评论(0) 推荐(0)
摘要:这道题不管是面试还是笔试的选择题都非常爱出的一道题 题目描述: 输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,5,2,3,1就不 阅读全文
posted @ 2016-04-05 11:13 leno米雷 阅读(4162) 评论(0) 推荐(1)