模板引數的名字,在它被宣告為模板引數後,一直到模板宣告或定義的結束,都可以被使用,如果在全域性域中宣告了與模板引數同名的變數,則該變數被隱藏。
typedef
double
type
;template
<
class
type
>
class
queue
;模板引數的名字在模板參數列中只能被引入一次。
在不同的了模板宣告或定義之間,模板引數的名字可以被重複使用。
類模板的引數可以有預設實參,這對型別引數與非型別引數都一樣。
template
<
class
type
,int
size=1024>
class
buffer;
template
<
class
type
=string,int size>
class
buffer;
16.2類模板的例項化
queue<
int> q1; 例項化出乙個int型別的queue
模板宣告或定義可以引用類模板或類模板的例項。
宣告乙個類模板例項的指標和引用不會引起類模板被例項化。
C Primer讀書筆記(四)
vector.resize與vector.reserve的區別 reserve是容器預留空間,但並不真正建立元素物件,在建立物件之前,不能引用容器內的元素,因此當加入新的元素時,需要用push back insert 函式。resize是改變容器的大小,並且建立物件,因此,呼叫這個函式之後,就可以引...
c primer 讀書筆記四
2.3.2指標 指標本身就是乙個物件,允許對指標賦值和拷貝,而且在指標的生命週期內它可以先後指向幾個不同的物件。指標無須在定義是賦值。和其他內建型別一樣,在塊作用域內定義的指標如果沒有被初始化,也將擁有乙個不確定的值。如果在一條語句中定義了幾個指標變數,每個定義了幾個指標變數,每個變數前面都必須有符...
C primer 讀書筆記
第2 章 變數和基本型別 1 變數直接初始化和變數 複製初始化 int ival 1024 direct initialization int ival 1024 copy initialization 初始化不是賦值 2 內建型別復 制初始化和直接初始化幾乎沒有區別 但 對類型別物件來 說,有些初...