pBendan

导航

2016年6月10日 #

LRU Cache实现

摘要: 最近在看Leveldb源码,里面用到LRU(Least Recently Used)缓存,所以自己动手来实现一下。LRU Cache通常实现方式为Hash Map + Double Linked List,我使用std::map来代替哈希表。 实现代码如下: 阅读全文

posted @ 2016-06-10 14:25 pBendan 阅读(169) 评论(0) 推荐(0) 编辑

2015年8月22日 #

算法-QuickSort

摘要: 1 #include 2 #include 3 #include 4 5 using namespace std; 6 7 template 8 void print_array(const vector &array) 9 { 10 for ( unsign... 阅读全文

posted @ 2015-08-22 12:40 pBendan 阅读(132) 评论(0) 推荐(0) 编辑

2015年8月15日 #

算法-MergeSort

摘要: 1 #include 2 #include 3 #include 4 5 using namespace std; 6 7 int COMPARE_COUNT = 0; 8 9 void merge_sort(vector &array, vector &aux, int lo, in... 阅读全文

posted @ 2015-08-15 11:55 pBendan 阅读(158) 评论(0) 推荐(0) 编辑

2015年7月7日 #

auto_ptr源码剖析

摘要: 1 /* 2 * Copyright (c) 1997-1999 3 * Silicon Graphics Computer Systems, Inc. 4 * 5 * Permission to use, copy, modify, distribute and sell th... 阅读全文

posted @ 2015-07-07 08:45 pBendan 阅读(186) 评论(0) 推荐(0) 编辑

2015年6月19日 #

C++初始化列表

摘要: C++初始化列表定义一个类对象时,常常使用初始化列表实例化一个对象,在进入构造函数函数体之前对成员变量完成初始化操作。普通成员变量既可以在初始化中初始化,也可以在函数体重赋值;const成员变量只能在初始化列表中赋值。下面对初始化列表进行一个简单介绍:使用初始化列表 1 #include 2 3... 阅读全文

posted @ 2015-06-19 16:53 pBendan 阅读(3370) 评论(0) 推荐(0) 编辑

2015年6月18日 #

[转载]va_start和va_end使用详解

摘要: va_start和va_end使用详解原文地址:http://www.cnblogs.com/hanyonglu/archive/2011/05/07/2039916.html本文主要介绍va_start和va_end的使用及原理。 在以前的一篇帖子Format MessageBox 详解中曾使用... 阅读全文

posted @ 2015-06-18 10:28 pBendan 阅读(187) 评论(0) 推荐(0) 编辑

2014年7月27日 #

如何建立一个子程序

摘要: 首先我们要理解这里面的“子程序”指的是什么?在这里,“子程序”理解为一个函数比较合适,可以是一个执行特定功能的全局函数、可以是一个类里面的成员函数(注:《代码大全》里面之所以用“子程序”来表述,是因为它所讲述的规则与方法是与语言无关的,我们应该根据自己实际编程中所使用的语言来自行定义“子程序”),... 阅读全文

posted @ 2014-07-27 17:56 pBendan 阅读(14148) 评论(0) 推荐(1) 编辑