摘要:
最近在看Leveldb源碼,里面用到LRU(Least Recently Used)緩存,所以自己動手來實現一下。LRU Cache通常實現方式為Hash Map + Double Linked List,我使用std::map來代替哈希表。 實現代碼如下:
閱讀全文
摘要:
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...
閱讀全文
摘要:
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...
閱讀全文
摘要:
1 /* 2 * Copyright (c) 1997-1999 3 * Silicon Graphics Computer Systems, Inc. 4 * 5 * Permission to use, copy, modify, distribute and sell th...
閱讀全文
摘要:
C++初始化列表定義一個類對象時,常常使用初始化列表實例化一個對象,在進入構造函數函數體之前對成員變量完成初始化操作。普通成員變量既可以在初始化中初始化,也可以在函數體重賦值;const成員變量只能在初始化列表中賦值。下面對初始化列表進行一個簡單介紹:使用初始化列表 1 #include 2 3...
閱讀全文
摘要:
va_start和va_end使用詳解原文地址:http://www.rzrgm.cn/hanyonglu/archive/2011/05/07/2039916.html本文主要介紹va_start和va_end的使用及原理。 在以前的一篇帖子Format MessageBox 詳解中曾使用...
閱讀全文
摘要:
首先我們要理解這里面的“子程序”指的是什么?在這里,“子程序”理解為一個函數比較合適,可以是一個執行特定功能的全局函數、可以是一個類里面的成員函數(注:《代碼大全》里面之所以用“子程序”來表述,是因為它所講述的規則與方法是與語言無關的,我們應該根據自己實際編程中所使用的語言來自行定義“子程序”),...
閱讀全文