原创 SQLite 的加密解密(開放宏定義)

首先要在sqlite3.c中最前面,添加代碼(網上有說在sqlite3.h中添加也可,實際測試在sqlite3.h中打開該宏是無效的): #ifndef SQLITE_HAS_CODEC #define SQLITE_HAS_CODEC

原创 strstr函數的自己實現

請用標準C語言實現下列標準庫函數,設計中不得使用其他庫函數。 char *strstr(char *str1,char *str2);在字符串str1中,尋找字串str2,若找到返回找到的位置,否則返回NULL。 [cpp] 

原创 STL中vector、list、deque和map的區別

1 vector     向量 相當於一個數組     在內存中分配一塊連續的內存空間進行存儲。支持不指定vector大小的存儲。STL內部實現時,首先分配一個非常大的內存空間預備進行存儲,即capacituy()函數返回的大小,當超

原创 cdecl、stdcall、fastcall函數調用約定區別

論函數調用約定   在C語言中,假設我們有這樣的一個函數:      int function(int a,int b)      調用時只要用result = function(1,2)這樣的方式就可以使用這個函數。但是,當高級語

原创 C++重要知識點

點贊 收藏 分享 文章舉報 TonyChan 發佈了216 篇原創文章 · 獲贊 11 · 訪問量 30萬+ 他的留言板

原创 stdcall詳解

對_stdcall 的理解在C語言中,假設我們有這樣的一個函數:int function(int a,int b)調用時只要用result = function(1,2)這樣的方式就可以使用這個函數。但是,當高級語言被編譯成計算機可以識別

原创 B樹、B-樹、B+樹、B*樹 紅黑樹

B樹        即二叉搜索樹:        1.所有非葉子結點至多擁有兩個兒子(Left和Right);        2.所有結點存儲一個關鍵字;        3.非葉子結點的左指針指向小於其關鍵字的子樹,右指針指向大

原创 PE文件結構詳解

我們大家都知道,在Windows 9x、NT、2000下,所有的可執行文件都是基於Microsoft設計的一種新的文件格式Portable Executable File Format(可移植的執行體),即PE格式。有一些時候,我們需

原创 使用c++模板的優點和缺點

作爲C++語言的新組成部分,模板引入了基於通用編程的概念。通用編程是一種無須考慮特定對象的描述和發展算法的方法,因此它與具體數據結構無關。但在決定使用C++模板之前,讓我們分析一下使用模板的優缺點。 目的: 當被問及引入C++模板的目

原创 數據庫的四個特性(ACID)

ACID,是指在數據庫管理系統(DBMS)中事務所具有的四個特性:原子性(Atomicity)、一致性 (Consistency)、隔離性(Isolation,又稱獨立性)、持久性(Durability)。 在數據庫系統中,一個事務

原创 指針和引用的區別總結

1.從現象上看:指針在運行時可以改變其所指向的值,而引用一旦和某個對象綁定後就不再改變 2.從內存分配上看:程序爲指針變量分配內存區域,而引用不分配內存區域 3.從編譯上看:程序在編譯時分別將指針和引用添加到符號表上,符號表上記錄的是變量

原创 面向接口編程詳解(二)

通過上一篇文章的討論,我想各位朋友對“面接接口編程”有了一個大致的瞭解。那麼在這一篇裏,我們用一個例子,讓各位對這個重要的編程思想有個直觀的印象。爲充分考慮到初學者,所以這個例子非常簡單,望各位高手見諒。 問題的提出  定義:現在我

原创 深入理解按位異或運算符

參與運算的兩個值,如果兩個相應bit位相同,則結果爲0,否則爲1。 即:    0^0 = 0,        1^0 = 1,        0^

原创 C++模板學習

1. 模板的概念。 我們已經學過重載(Overloading),對重載函數而言,C++的檢查機制能通過函數參數的不同及所屬類的不同。正確的調用重載函數。例如,爲求兩個數的最大值,我們定義MAX()函數需要對不同的數據類型分別定義不同重

原创 如此理解面向對象編程

從Rob Pike 的 Google+上的一個推看到了一篇叫《Understanding Object Oriented Programming》的文章,我先把這篇文章簡述一下,然後再說說老牌黑客Rob Pike的評論。 先看這篇教