C template第五章總結

2021-06-18 21:30:19 字數 1050 閱讀 7571

1.如果要訪問依賴於模板內部的型別,前面要加上typename,

如:

tempateclass my

;

subtype是定義於t內部的型別

2.在多繼承中,要使用this指明要訪問的本成員函式

3.可以過載=讓不同的模板之間可以賦值,但是不會忽略型別檢查

如:stackint1;stackf2; f2 = int1;此時int會自動轉換為float,為了使用這個功能,必須過載=;

4.可以把內部容器型別指定為模板引數,就可以改變內部容器型別,類模版也可以作為模板引數,我們稱為模板的模板引數。

如:template>

5.為了指定容器型別而不用指定元素型別,可以使用模板的模板引數

如:templateclass cont = std::deque>

然後再類裡面定義:

cont elems;

6.複製運算子的模板版本沒有取代預設複製運算子

7.模板的模板實參必須精確的匹配

如:template

class  = std::deque> 

因為deque類模版預設有兩個引數

8.顯示呼叫預設建構函式,可以確保模板的變數和成員都用乙個預設值初始化,這種方法對內建的變數和成員適用

如:

#include #include using namespace std;

//類的預設初始化

template class my

};//函式的預設初始化

template inline void foo(void)

{ int x = int();

t y = t();

cout<();

mya;

cout《預設初始化的都是0

9.對於字串,在實參演繹的過程中,當引數不是引用的時候,會出現陣列到指標的轉換

template void ref(t const& x)//傳遞的是字元陣列

template void ref(t x)//傳遞的是指標

C template 學習筆記 (第五章)

技巧性基礎知識 1.關鍵字 typename 2.使用this 3.成員模板 4.模板的模板引數 5.零初始化 6.字串作為函式模板的實參 1.關鍵字typename 在c 中,引入typename是為了說明 模板內部的識別符號可以是乙個型別。譬如下面 1 template 2 class mycl...

C Template 讀書筆記 第五章

內容 技巧性基礎知識 關鍵字 typename template this 模板的模板引數 零初始化 字串的模板實參 具體內容描述 1.對模板使用typename 場景 template class test 這裡需要增加typename,需要標記告訴編譯器這個是宣告乙個模板引數型別t裡面的subt...

第五章總結

5.1選單 選單是windows應用程式視窗的乙個非常重要的組成部分,視窗的選單欄一般在標題欄下面。這個選單通常稱為 主選單 5.1.1建立和程式設計選單 選單用於sdi 單文件介面 或mdi 多文件介面 以及基於對話方塊的應用程式,在基於對話方塊的應用程式中新建 設計並編輯選單後,在該對話方塊的 ...