原创 C++ STL(第十四篇:Set 和 Map)

1、Set set 的特性是,所有元素都會根據元素的鍵值自動被排序。set 的元素不像 map 那樣可以同時擁有實值(value)和鍵值(key),set 元素的鍵值就是實值,實值就是鍵值。 set 不允許兩個元素有相同的鍵值。

原创 C++ STL(第七篇:容器 -- list)

1、list的概述 相比較於 vector 的連續線型空間,list 就顯得複雜的多,它的好處是每次插入或刪除一個元素,就配置或釋放一個元素空間。因此,list對於空間的運用有絕對的精準,一點也不浪費。而且,對於任何位置的元素插入

原创 C++ STL(第二十二篇:算法-- 單純的數據處理算法)

1、概述 前面整理了 STL 最重要的 排序算法,以及 有序區間算法,還有copy、及簡單的算術算法等。但是 STL 還有一些單純的數據處理算法,接下來兩節會對這部分內容進行整理。部分算法比較簡單,就不整理代碼了,只做一個簡單的介

原创 存儲器層級結構

1、概述 存儲器系統是一個具有不同容量、成本和訪問時間的存儲設備的層次結構。每一層於下一層相比都擁有較高的速度和較低延遲性,以及較小的容量。 存儲器層次結構,對應用程序的性能有着巨大的影響。理解系統是如何將數據在存儲器層次結構中上

原创 TCP 連接的建立和終止

1、概述 網絡開發中,你怎麼也不會避開TCP協議,而且面試中這個也是一個基礎問題。總的來說 TCP 的建立分爲三次握手,而 TCP 的終止則需要四次揮手。 2、TCP的建立(三次握手) 建立一個 TCP 連接時會發生以下情形。 1

原创 忘記虛擬機中 ubuntu登錄密碼的解決辦法

最近工作又使用到了虛擬機,但是我的虛擬機因爲長時間的不登錄,已經忘記了密碼,嘗試了好多密碼但是不成功。因爲虛擬機中環境都已經佈置好了,不想在重新佈置一遍,所以就想到進入 root,修改密碼。 這裏對整個流程進行整理,以後忘記密碼,

原创 C++ 繼承關係的作用域 和 注意事項

1、類繼承關係的作用域 我們都知道在如下的代碼中: int x; //全局變量 void someFunc() { double x; //局部變量 std::cin >> x; //讀取一個新值賦予 local

原创 C++ 模板與泛型編程

1、概述 前面對 STL 和泛型編程進行了整理,但還是有一些細節需要進行整理。 1.1、 隱式接口和編譯器多態 對於 多態 和 模板的實例化與具象化 我在前面的文章中進行過整理,這裏就不贅述了,想了解的可以在點擊鏈接回顧一下。

原创 C++ 繼承關係及其深層含義

1、概述 C++ 中的繼承可以是單一繼承或者多重繼承,每一個繼承連接可以是 public,protect 或 private,也可以是 virtual 或 non-virtual。但是這些繼承方面的關係是怎麼的?選擇使用哪一種繼承

原创 GIT 修改用戶名和密碼

1、概述 如果你使用GIT的SSH 方式連接遠端,並且設置了一個沒有口令的祕鑰,這樣就可以砸不輸入用戶名和密碼的情況下安全地傳輸數據。然而,這對 HTTP 協議來說是不可能的 ---- 每一個連接都是需要用戶名和密碼的。但是這樣使

原创 C++ STL 總結

1、STL 總結 經過這麼長時間的整理,STL 的內容終於整理完畢,雖然之前這本書看過兩遍,但是比較汗顏的是,感覺之前也就是看過,沒有進行深度挖掘,對於一些概念已經淡化,對於一些實現細節也已經淡化。所以說看書一定要往深度裏看,看懂

原创 C++ template的使用

1、template的使用 C++ 的高級玩法,當然包含了模板。模板(template)是實現代碼重用機制的一種工具,它可以實現類型參數化,把類型定義爲參數(模板元編程),從而實現了真正的代碼可重用性。 模板是用來批量生成功能和形

原创 算法 ---- 計數排序、桶排序及基數排序

1、計數排序 計數排序 需要滿足 n 個輸入元素中的每一個元素都在 0 到 k 的區間內的整數。 計數排序的思想是:對每一個輸入元素x,確定小於 x 的元素個數。利用這一信息,可以直接把 x 放到它在輸出數組中的位置上。例如,有1

原创 C++ STL(第二十三篇:算法-- 單純的數據處理算法)

1、概述 前面整理了 STL 單純的數據處理算法,因爲太多,分爲兩個部分,今天就把剩餘的部分給整理完畢,這樣 STL 的內容就告一段落了。 rotate:將 [first, middle) 內的元素和 [middle, last) 內

原创 C++ STL(第二十一篇:算法-- 應用於有序區間的算法)

1、概述 有序區間,顧名思義就是區間內的元素都是經過排序之後的。對於這種類型的區間,有一系列的算法。今天就對這種區間的算法進行整理。 2、includes 判斷序列 S2 是否 “涵蓋於” 序列 S1,所謂涵蓋,意思是 “S2 的每一