开源学习
文章平均质量分 76
shangmin
这个作者很懒,什么都没留下…
展开
-
boost bimap简介
很多人都熟悉c++ stl,各种各样的容器vector, list, set这些,还有一些算法find, binary_search, sort等等给我们编程的时候提供了很多方便。但是有时候在使用的时候还是感觉到有点不足,例如循环使用的buffer, 智能指针,类似java里面的foreach,这些都在stl库里面没有,如果要自己实现的话,设计开发测试起来挺麻烦的。有一个开源的类似于stl的程序库原创 2011-12-08 17:06:41 · 1197 阅读 · 0 评论 -
boost lexical_cast使用
在进行编码时经常需要将整型数转化为string, 或者string转成整型数,或者char[]转化为整数。当然这些函数都不难,完全可以自己实现,不过自己实现肯定要浪费一些时间进行编码和测试。boost的lexical_cast基本上提供了我们需要的所有常用的转化功能,需要的时候可以使用。 一个的例子如下: #include "boost/lexical_cast.hpp" #i原创 2011-12-20 11:32:31 · 781 阅读 · 0 评论 -
分布式key/value cache redis(version:2.4.2) 源码学习(一)--------intset学习
前记: 最近看了一些redis(详情请查看http://redis.io/)相关的东西,网上很多人对这个评价很不错,也有一些网站开始使用这个了。想着自己可以学习一下redis的源码,进行一些深入的研究。看了一点觉得太难了,基本上都看不懂,不过既然开了这个头了,就不能轻易退出。先从最简单自己能看懂的看起,将自己的理解和心得写下来,以便以后复习,别人看到了也能指出其中写的不对,理解不对原创 2011-12-06 10:25:40 · 571 阅读 · 0 评论 -
分布式key/value cache redis(version: 2.4.2) 源码学习(二)--------dict(哈希表)学习
在程序中很多地方我们会用到哈希表,因为它可以实现快速的增删查改操作。redis中也多次用到了哈希表,这几天仔细看了一下其中哈希表的实现dict.h和dict.cpp文件,这里对它的源码进行一些解析。 哈希表最重要的无非就这几样东西,一个是哈希函数的性能和计算散列值的分布情况,另外一个是如何处理冲突,最后一个是当负载率越来越高导致性能下降的时候,如何重构哈希表。现在对哈希函数的研究原创 2011-12-21 19:46:11 · 1033 阅读 · 0 评论 -
boost circular_buffer的使用
有时候我们需要固定大小的一个类似数组的东西,存储比如一个用户最近10天的留言记录这些东西,但是又想实现随机访问,也就是支持下标的操作,list肯定是不适合的,因为它不支持随机访问。当然我们可以用vector或者deque做类似的模拟封装,但是这样比较麻烦,boost库提供了一个circular_buffer,包含了stl deque和vector的几乎所有功能,而且可以指定大小。如果其中的元素的数原创 2011-12-31 11:29:17 · 4583 阅读 · 0 评论