原创 Linux C語言實現對MySQL數據庫中表的內容進行增刪查改操作

C API Data Structures MYSQL This structure represents the handler for one database connection. It is used for almo

原创 assert() 斷言函數,用於在調試過程中捕捉程序錯誤

轉載:http://c.biancheng.net/ref/assert.html void assert (int expression); 斷言函數,用於在調試過程中捕捉程序的錯誤。 “斷言”在語文中的意思是“斷定”、“十分

原创 Liunx C 線程部分的習題:主線程,子線程,清理函數,加鎖解鎖等問題

Q1: 創建一個子線程,傳入數值1,在子線程中能夠獲取並打印,子線程退出,返回數值2,主線程通過pthread_join獲取等待子線程結束並獲取子線程的退出值並打印。 #include <func.h> void* thread

原创 排序算法——堆排

堆排序 如果將堆結構中的數據看作是一顆完全二叉樹的各個節點,那麼堆的性質就是滿足如下性質的完全二叉樹:樹中任意非葉子節點的關鍵碼均不大於或不小於其左右孩子節點的關鍵碼。利用堆的有序性及其運算,可以容易的實現選擇排序的方法稱爲堆排序

原创 多態內容:虛函數、純虛函數、抽象類、虛析構函數、虛擬繼承

C++面向對象之多態什麼是多態?爲什麼使用多態?虛函數的定義虛函數的實現機制哪些函數不能被設置爲虛函數?虛函數的訪問指針訪問引用訪問對象訪問成員函數中的訪問構造函數和析構函數中訪問純虛函數抽象類虛析構函數重載、隱藏、覆蓋虛擬繼承虛

原创 sizeof與strlen有哪些區別

摘自:C和C++程序員面試祕籍 它們的區別如下: 1)sizeof是操作符,strlen是函數。 2)sizeof操作符的結果類型是size_t,它在頭文件中typedef爲unsigned int 類型,該類型保證能容納實現所建

原创 C++中const有什麼作用

摘自:C和C++程序員面試祕籍 (1)const用於定義常量:const定義的常量編譯器可以對其進行數據靜態類型安全檢查。 (2)const修飾函數形式參數:當輸入參數爲用戶自定義類型和抽象數據類型時,應該將值傳遞改爲const

原创 C/C++ static關鍵字的作用

1、先來介紹它的第一條也是最重要的一條:隱藏。(static函數,static變量均可) 當同時編譯多個文件時,所有未加static前綴的全局變量和函數都具有全局可見性。 舉例來說明。同時編譯兩個源文件,一個是a.c,另一個是ma

原创 內存對齊的原因和規則

內存對其的解釋: 對齊規則是按照成員的聲明順序,依次安排內存,其偏移量爲成員大小的整數倍,0看做任何成員的整數倍,最後結構體的大小爲最大成員的整數倍。 爲什麼要內存對齊?原因有以下幾點: 1、CPU對內存的讀取不是連續的,而是分成

原创 UDP協議、TCP協議

1、UDP 用戶數據報協議(User Datagram Protocol)。UDP是一種無連接協議,因爲UDP客戶與服務器不存在長期的關係,例如一個UDP客戶創建一個套接字併發送一個數據報給一個服務器,然後立即用同一個套接字發送另

原创 爲什麼TCP連接需要三次握手和四次揮手、存在TIME_WAIT狀態的兩個理由

1、三次握手建立連接詳解 三次握手的大致流程如下: (1)客戶端向服務器發送一個SYN J; (2)服務器向客戶端響應一個SYN K,並對SYN J 進行確認 ACK J+1; (3)客戶端再向服務器發送一個確認ACK K+1。

原创 純虛函數設置爲public、protected和private的區別

我們把一個僅僅含有純虛函數的類稱爲接口,我們也好像已經習慣了將這個接口中的所有純虛函數全聲明爲public,而且按照這樣的設計,一切都工作得不錯。比如COM正是這樣做的,它的接口中幾乎不會存在private的純虛函數。那麼,讓我們

原创 C++: log4cpp日誌管理系統的簡單介紹

Log4cpp的介紹一、Layout,設置日誌輸出風格二、Appender,確定日誌輸出行爲三、Category,日誌輸出主體類四、Priority:優先級 一、Layout,設置日誌輸出風格 有BasicLayout、Simpl

原创 C++: 類型轉換函數 與 explicit

類型轉換函數 與 explicit 1. 類型轉換函數 在C++中,可以使用構造函數將一個指定類型的數據轉換爲類的對象,也可以使用類型轉換函數 (type conversion function)將一個類對象轉換爲其他類型的數據。

原创 Understanding the meaning of lvalues and rvalues in C++

Understanding the meaning of lvalues and rvalues in C++ A lightweight introduction to a couple of basic C++ feature