原创 STL_string類

前言 STL(Standard Template Library-標準模板庫),是C++標準庫的重要組成部分,STL是C++中的優秀作品,有了它的陪伴,許多底層的數據結構以及算法都不需要自己重新造輪子,站在前人的肩膀上,健步如飛的

原创 排序算法(一):插入排序(直接插排、希爾排序)

插入排序 基本思想: 插入排序將序列分爲已經有序和暫時無序兩部分,遍歷暫時無序的部分,將該部分第一個元素插入到已經有序部分的合適位置,遍歷完畢則完成了排序,得到一個新的有序序列。 排序分類: 插入排序分爲直接插入排序和希爾

原创 位操作符、移位操作符與位運算

位運算是把數字用二進制表示之後,對每一位上0或者1的運算。二進制及其位運算是現代計算機學科的基石,很多底層的技術也都離不開位運算,由於在我們日常生活中習慣了十進制,很多人看到二進制以及位運算都感到很難適應,接下來我們一起討論一下移

原创 指針的高級主題(字符指針、指針數組、數組指針、函數指針、函數指針數組、回調函數)

對指針的初步認知 這裏主要就是簡單總結一下在C初級階段我們接觸的指針 指針是對內存地址的編號,用來存放地址,地址唯一標識一塊內存空間。 指針的大小是固定的4或8個字節(32位平臺/64位平臺)。 32位/64位指的是計算機CPU

原创 無頭單鏈表的增刪查改

我們之前接觸過順序表(如果沒有了解的童鞋可以看看我的另一篇Blog) 數據結構:順序表 順序表的優點與缺點: 我們知道順序表存儲數據可以很容易的對數據進行訪問(即隨機下標訪問)時間複雜度O(1),但是它也有自己的缺陷:比如在頻繁增

原创 C++中的類和對象(一:初識類和對象)

面向過程和麪向對象的初步認識 C語言是基於面向過程的,關注的是過程,分析出求解問題的步驟,通過函數調用逐步解決問題。 C++是基於面向對象的,關注的是對象,將一件事情拆分成不同的對象,靠對象之間的交互完成。 類的定義 class

原创 32位系統和64位系統

前言 衆所周知,我們通常說操作系統是32位還是64位說的其實是32位處理器(CPU)還是64位處理器(CPU),Windows系統有32位和64位之分,下面我們來總結一下32位系統和64位系統的原理、區別以及如何判斷。 32位系統

原创 C++中的函數模板和類模板

前言 在我們進行大型程序的編寫時往往會遇到一類問題,同一個函數或類我們希望多種類型數據傳入時都能完成類似或者相同的功能,但是在C語言中我們很難做到這一點因爲我們往往在換了一個數據類型後就要重新寫一遍函數,這樣耽誤我們大量的時間,那

原创 Linux系統下的殭屍進程(概念、產生、危害、避免)

前言 最近接觸了殭屍進程這個概念,在被同學問到殭屍進程的產生、避免、危害時感覺還是概念模糊,沒有深入瞭解,現在做了一些整理來複習殭屍進程的相關知識。 殭屍進程是什麼? 在Linux下進程狀態由五種,僵死狀態就是一種特殊的進程狀態

原创 C++中的類和對象(二:六個默認的成員函數)

前言 在我們構建一個類之後即使我們在其中不定義任何的成員函數,編譯器也會自動生成6個默認的成員函數 1、構造函數 2、析構函數 3、拷貝構造函數 4、賦值運算符重載函數 5、對普通對象取地址運算符重載 6、對常對象取地址運算符重載

原创 Linux系統下的孤兒進程和守護進程(精靈進程)

前言 在之前的學習中我們瞭解到了殭屍進程的相關知識(殭屍進程博客:https://blog.csdn.net/Outtch_/article/details/105160491),其實在Linux系統中還有兩種特殊的進程——孤兒進

原创 大端存儲模式和小端存儲模式

前言 對於整型來說:數據存放在內存中其實存放的是補碼(深度剖析數據在內存中的存儲:https://blog.csdn.net/Outtch_/article/details/102758413) 我們可以看到對於整型a和b分別存

原创 結構體的內存對齊規則

前言 結構體是一種自定義類型,其中包含了許多不同類型的變量,我們稱這些值爲成員變量,那麼這種自定義類型的大小該怎麼計算呢?這纔是我們今天討論的重點問題。 結構體內存對齊規則 要想計算結構體的大小,首先得了解結構體的內存對齊規則。

原创 C++中的類和對象(三:再認識類和對象)

前言 C++中的類和對象(一:初識類和對象)https://blog.csdn.net/Outtch_/article/details/105413571 C++中的類和對象(二:六個默認成員函數)https://blog.csd

原创 C++支持函數重載的原理

前言 從C語言過渡到C++之後,C++不僅兼容了C語言的絕大多數語法,而且還對C語法有了許多改進,其中有一個亮點就是C++可以支持函數重載。 面對這個新的名詞我們可能產生了許許多多的疑惑 函數重載是什麼呢?爲什麼C++支持函數重載