一、設(shè)計模式分類: 二、六大設(shè)計原則:
狀態(tài)模式一、描述 概念:允許一個對象在其內(nèi)部狀態(tài)改變時改變它的行為。對象看起來似乎修改了它的類。 問題:每個人、事物在不同的狀態(tài)下會有不同表現(xiàn)(動作),而一個狀態(tài)又會在不同的...
Composite 模式一、描述概念:將對象組合成樹形結(jié)構(gòu)以表示“部分-整體”的層次結(jié)構(gòu)。Composite使得用戶對單個對象和組合的使用具有一致性。 Composite 模...
Factory Method(工廠方法) 1 應用場景 在軟件系統(tǒng)中,經(jīng)常面臨著創(chuàng)建對象的工作;由于需求的變化,需要創(chuàng)建的對象的具體類型經(jīng)常變化。 2 定義與解釋 定義一個用...
一、8個重要的設(shè)計原則 ①依賴倒置原則(DIP)高層模塊(穩(wěn)定)不應該依賴底層模塊(變化),二者都應該依賴于抽象(穩(wěn)定);抽象不應該依賴于實現(xiàn)細節(jié),實現(xiàn)細節(jié)應該依賴抽象。②開...
1.一個萬用的hash function 在之前的課程中,我們知道以Hash Table為底層的容器過程(如unordered_map),在使用過程中,必須要有一個hash ...
1.C++標準庫的算法,是什么東西?從語言的層面講,STL的算法都長下面兩個樣子: 上面這兩個東西是Function template(函數(shù)模板),一般情況算法都有兩個版本,...
1 STL組建(STL Components)關(guān)鍵組建:容器,迭代器,算法STL的基本觀念就是將數(shù)據(jù)和操作分離,數(shù)據(jù)由容器類加以管理,操作則由可定制的算法定義之,迭代器在兩者...
c++stack(堆棧)是一個容器的改編,它實現(xiàn)了一個先進后出的數(shù)據(jù)結(jié)構(gòu)(FILO)使用該容器時需要包含#include 頭文件;定義stack對象的示例代碼如下:stack...
各容器測試(使用方法類似,需要根據(jù)上圖結(jié)構(gòu),來選擇不同場景使用(可根據(jù)容器名查詢使用方法)):使用容器array: 內(nèi)存連續(xù)使用容器vector: 內(nèi)存連續(xù),擴大需要移動, ...
1.源代碼分布 標準庫STL的文件位置,與所采用的編譯器有關(guān):(1)Visual C++:...\include (例如 D:\Program Files (x86)\M...
對象模型 vptr虛函數(shù)指針 若類對象中含有虛函數(shù),則在對象模型中會存在一根虛函數(shù)指針 vtbl虛函數(shù)表 虛函數(shù)指針指向一塊內(nèi)存,稱為虛表 虛表的內(nèi)容是一段地址,指向該類對象...
一、虛函數(shù)表 對C++虛函數(shù)(Virtual Function)是通過一張?zhí)摵瘮?shù)表(Virtual Table)來實現(xiàn)的。簡稱為V-Table。在這個表中,主是要一個類的虛函...
一、基本概念 1、類的繼承,是新的類從已有類那里得到已有的特性。或從已有類產(chǎn)生新類的過程就是類的派生。原有的類稱為基類或父類,產(chǎn)生的新類稱為派生類或子類。 2、派生類的聲明:...
帶指針類設(shè) 帶指針類必須含有拷貝構(gòu)造、拷貝賦值以及析構(gòu)函數(shù)。 1.String類解析 在string類中有一個私有的指針指向內(nèi)存中的字符串,當我們需要使用這個字符串時才通過指...
1.編寫頭文件時要加上防衛(wèi)式聲明 2.模板的定義和使用 有時候我們不確定要定義的類里面的數(shù)據(jù)類型,因此我們使用模板來定義這個數(shù)據(jù)。這樣在類實例化的時候可以臨時定義它的數(shù)據(jù)類型...