源码分析
lijun538
根扎的再深一点,就能探到阳光
展开
-
红黑树的实现原理
前一段在>看到了红黑树,本来打算自己写一篇理解的,但是实在没有人家写的清晰易懂,这里转载过来给大家看看吧。比那个排名挺高的算法分析的透彻很多,反正csdn上那个我没有看懂,以其昏昏使人昭昭。原文地址:http://note.youdao.com/share/?id=ffe7439c125ece767b58c813c3d03b20&type=note注:本文所有内容均翻译自维转载 2015-10-17 13:17:15 · 1026 阅读 · 0 评论 -
memmove和memcpy
在阅读>的过程中,看到关于内存处理工具的问题,其中的uninitialized_copy使用了memmove函数,但是并没有详细解释,这里记录一下。memmove和memcpy都是用于内存拷贝的函数,并不是像函数名字一样,一个是复制,一个是移动。它们声明在头文件中。memcpy是把源地址(const void *型)指向的对象中的n个字符,拷贝到目的地址(void *)所指向的对象原创 2015-10-17 11:01:42 · 874 阅读 · 0 评论 -
<stl>list::sort源码分析
STL的算法中,提供了sort()算法,算法接收两个RandomAccessIterator。所有关系型容器底层使用红黑树的,有自动排序功能。序列容器中的stack,queue使用priority-queue。而优先队列使用堆实现,它们都有特定的出入口,不允许排序。剩下的vector,list,deque中,list无法使用,因为list的迭代器属于BidirectionIterators。lis原创 2015-10-17 13:09:40 · 731 阅读 · 0 评论 -
c++内存问题整理与智能指针使用
公司里小组组织c++知识的分享会,正好我手上碰到过几个purify的内存泄露问题,就借这里总结一下c++的内存问题。 借鉴陈硕总结的分类,c++大致的内存问题有以下几个方面: 1.缓冲区溢出 在使用自己编写的缓冲区或者使用不安全的函数时,会遇到类似数组越界的缓冲区溢出问题,Linux内核的解决办法是栈随机化,金丝雀的检测,具体的攻击手段和例子,可以参考我另一篇的buffer lab原创 2016-03-14 14:49:45 · 2889 阅读 · 0 评论