原创 引用與指針的一點見解

★ 相同點: 1. 都是地址的概念; 指針指向一塊內存,它的內容是所指內存的地址;引用是某塊內存的別名。 ★ 區別: 1. 指針是一個實體,而引用僅是個別名; 2. 引用使用時無需解引用(*),指針需要解引用; 3. 引用只能在定義時被

原创 MYSQL的一知半解

最近由於在忙着找工作,想着簡歷上寫了會MYSQL,如果被問到該怎麼回答呢?趁現在有空就整理一下MYSQL的一些特性。 1、開源 2、體積小 3、速度快 4、靈活 5、成本低 6、LAPM(Linux作爲操作系統,Apache和Nginx作

原创 關於字節對齊的一些理解

1、基本數據對齊在X86,32位系統下基於Microsoft、Borland和GNU的編譯器,有如下數據對齊規則: a、一個char(佔用1-byte)變量以1-byte對齊。 b、一個short(佔用2-byte)變量以2-byte對齊

原创 Key-value數據庫

1.1.1 NoSQL簡介       對於不瞭解NoSQL的人都會認爲NoSQL爲No SQL,即不是SQL。但是這種理解是錯誤的,NoSQL應該是Not Only SQL,翻譯過來爲不僅僅是SQL。從這個翻譯中我們可以看出來,NoSQ

原创 C++ 對象指針

C++中,聲明對象指針時,並不調用構造函數的,只是爲它分配一個地址,就像int a一樣,只是分配一個地址,裏面的東西是未知的。 MyClass *b

原创 侵入式智能指針

智能指針,就是利用對象的析構函數去執行資源釋放,很久之前寫的關於侵入式智能指針的筆記,今晚把它整理下。   資源共享型的智能指針有兩種實現,一種是侵入式,一種是非侵入式。在教材裏比較常見的是非侵入式的,它的實現完全放在智能指針模板裏,

原创 Windows&Linux下進程間通信的方式

1、管道 管道又分無名管道和有名管道,無名管道用於父進程與子進程間的通信,有名管道用於同一臺計算機中任意兩個進程間的通信。管道的缺點是隻支持單向數據流。 2、消息隊列   消息隊列用於運行於同一臺機器上的進程間通信,它和管道很相似,是一個

原创 淺談設計模式

創建模式 結構模式 行爲模式 創建模式:對類的實例化過程的抽象。一些系統在創建對象時,需要動態地決定怎樣創建對象,創建哪些對象,以及如何組合和表示這些對象。創建模式描述了怎樣構造和封裝這些動態的決定。包含類的創建模式和對象的創建模式

原创 內部排序 穩定排序 不穩定排序

(1)冒泡排序 冒泡排序就是把小的元素往前調或者把大的元素往後調。比較是相鄰的兩個元素比較,交換也發生在這兩個元素之間。所以,如果兩個元素相等,我想你是不會再無聊地把他們倆交換一下的;如果兩個相等的元素沒有相鄰,那麼即使通過前面的兩兩

原创 MYSQL簡單入門

  目錄 一、MySQL的相關概念介紹二、Windows下MySQL的配置 配置步驟MySQL服務的啓動、停止與卸載三、MySQL腳本的基本組成四、MySQL中的數據類型五、使用MySQL數據庫 登錄到MySQL創建一個數據庫選擇所

原创 排序算法

/************選擇排序*************/ void selectsort(int str[],int n) { int i,j; for(i=0;i<n-1;i++) { for(j=i+1;j<n;j++

原创 最大子序列和

最大子序列和有幾種時間複雜度的實現方法,本文在此列舉先行實現方法: void MaxSub(int a[],int len) { int sum,k; sum = 0; k = 0; for (int i=0;i<len;i++)

原创 C++單例模式的最實用寫法

不多說,直接上代碼。 class NoCopyable { public: NoCopyable(){} private: NoCopyable(const NoCopyable&); NoCopyable& operator=(

原创 C++學習之路多態

多態性可以簡單地概括爲“一個接口,多種方法”,程序在運行時才決定調用的函數,它是面向對象編程領域的核心概念。多態(polymorphisn),字面意思多種形狀。 C++多態性是通過虛函數來實現的,虛函數允許子類重新定義成員函數,而子類重新

原创 關聯容器存放的是指針時,自定義比較函數模板

struct DereferenceLess{ template<typename PtrType> bool operator()(PtrType pT1, PtrType pT2)const { return *pT1