青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

天下

記錄修行的印記

模板特化和偏特化

模板特化和偏特化
C
++中的模板分為類模板和函數模板

·模板的特化
    
(
1)類模板特化
有時為了需要,針對特定的類型,需要對模板進行特化,也就是特殊處理.例如,stack類模板針對bool類型,因為實際上bool類型只需要一個二進制位,就可以對其進行存儲,使用一個字或者一個字節都是浪費存儲空間的.
template 
<class T>
class stack {};

template
<>
class stack<bool> 

    
//// 
};

上述定義中template 
< >告訴編譯器這是一個特化的模板。并且在聲明特化模板之前一定要有非特化的聲明!并且兩個類的名字是一樣的!
    
(
2)函數模板的特化
看下面的例子
int main()
{
   
int highest = mymax(5,10);
   
char c = mymax(‘a’, ’z’);
   
const char* p1 = “hello”;
   
const char* p2 = “world”;
   
const char* p = mymax(p1,p2);
   
return 0;
}
前面兩個mymax都能返回正確的結果.而第三個卻不能,因為,此時mymax直接比較兩個指針p1 和 p2 而不是其指向的內容.
針對這種情況,當mymax函數的參數類型為const 
char* 時,需要特化。
template 
<class T>
T mymax(
const T t1, const T t2)
{
    
return t1 < t2 ? t2 : t1;
}
template 
<>
const char* mymax(const char* t1,const char* t2)
{
    
return (strcmp(t1,t2) < 0? t2 : t1;
}
現在mymax(p1,p2)能夠返回正確的結果了。

4.模板的偏特化
模板的偏特化是指需要根據模板的某些但不是全部的參數進行特化
(
1) 類模板的偏特化
例如c
++標準庫中的類vector的定義
template 
<class T, class Allocator>
class vector 

    
// … // 
};

template 
<class Allocator>
class vector<bool, Allocator> 

    
////
};
這個偏特化的例子中,一個參數被綁定到bool類型,而另一個參數仍未綁定需要由用戶指定。

(
2) 函數模板的偏特化
嚴格的來說,函數模板并不支持偏特化,但由于可以對函數進行重載,所以可以達到類似于類模板偏特化的效果。
template 
<class T> void f(T);   (a)
根據重載規則,對(a)進行重載
template 
< class T> void f(T*);   (b)
如果將(a)稱為基模板,那么(b)稱為對基模板(a)的重載,而非對(a)的偏特化。C
++的標準委員會仍在對下一個版本中是否允許函數模板的偏特化進行討論。
5.模板特化時的匹配規則
(
1) 類模板的匹配規則
最優化的優于次特化的,即模板參數最精確匹配的具有最高的優先權
例子:
template 
<class T> class vector
{
    
////
}; // (a)   普通型
template <class T> class vector<T*>
{
    
////
}; // (b) 對指針類型特化
template <>
class vector <void*>
{
    
////
}; // (c) 對void*進行特化
每個類型都可以用作普通型(a)的參數,但只有指針類型才能用作(b)的參數,而只有void*才能作為(c)的參數

(
2) 函數模板的匹配規則
非模板函數具有最高的優先權。如果不存在匹配的非模板函數的話,那么最匹配的和最特化的函數具有高優先權
例子:
template 
<class T> void f(T);   // (d)
template <class T> void f(int, T, double); // (e)
template <class T> void f(T*);   // (f)
template <> void f<int> (int) ; // (g)
void f(double);   // (h)
bool b;
int i;
double d;
f(b); 
// 以 T = bool 調用 (d)
f(i,42,d) // 以 T = int 調用(e)
f(&i) ; // 以 T = int* 調用(f)
f(d);   //   調用(h)

posted on 2013-06-26 11:38 天下 閱讀(887) 評論(0)  編輯 收藏 引用 所屬分類: C/C++C++模板

<2025年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

導航

統計

常用鏈接

留言簿(4)

隨筆分類(378)

隨筆檔案(329)

鏈接

最新隨筆

搜索

最新評論

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            欧美性开放视频| 久久久www成人免费无遮挡大片 | 欧美性猛交xxxx乱大交退制版| 国产一区二三区| 久久精品综合网| 久久在线91| 亚洲免费精彩视频| 一区二区三区欧美日韩| 国产精品一区二区久激情瑜伽| 欧美有码在线观看视频| 久久国产欧美精品| 亚洲日本在线观看| 日韩特黄影片| 国产在线精品自拍| 亚洲国产精品女人久久久| 欧美精品www| 性欧美videos另类喷潮| 久久久蜜桃精品| 一本大道久久精品懂色aⅴ| 亚洲一区在线看| 亚洲福利av| 亚洲视频www| 亚洲国产影院| 亚洲一区免费看| 亚洲区免费影片| 亚洲天堂av综合网| 在线欧美日韩国产| 一区二区三区国产在线| 一色屋精品视频在线看| 一本久久综合亚洲鲁鲁| 极品日韩av| 亚洲一区二区三区在线| 亚洲精品久久久久中文字幕欢迎你 | 影音先锋久久久| 一区二区不卡在线视频 午夜欧美不卡在 | 国产午夜精品美女视频明星a级| 欧美电影在线播放| 国产精品人人爽人人做我的可爱| 久久性天堂网| 欧美午夜精品久久久久久孕妇| 噜噜噜91成人网| 国产精品久久婷婷六月丁香| 亚洲国产成人不卡| 黑人一区二区三区四区五区| 99ri日韩精品视频| 亚洲韩日在线| 久久久在线视频| 久久精品伊人| 国产精品资源| 日韩午夜激情| 日韩午夜三级在线| 久色成人在线| 玖玖在线精品| 国外成人性视频| 欧美亚洲一区在线| 午夜伦欧美伦电影理论片| 欧美日韩精品国产| 亚洲经典视频在线观看| 亚洲电影免费观看高清完整版在线| 亚洲视频电影在线| 亚洲一区一卡| 欧美视频久久| 宅男噜噜噜66一区二区| 亚洲午夜日本在线观看| 欧美日韩dvd在线观看| 亚洲高清在线观看一区| 在线看一区二区| 麻豆成人在线观看| 欧美大片专区| 日韩午夜免费视频| 欧美日韩少妇| 一区二区三区四区在线| 亚洲欧美日韩天堂| 国产欧美日韩在线视频| 亚洲欧美在线免费观看| 欧美在线免费观看亚洲| 国产亚洲欧洲一区高清在线观看| 欧美一区二区三区在线视频 | 久久久久久一区二区| 国内激情久久| 久久在线免费观看| 91久久精品一区二区别| 亚洲夜间福利| 国产一区二区三区在线观看免费视频| 欧美一区二视频| 欧美18av| 亚洲午夜国产一区99re久久| 国产乱码精品1区2区3区| 欧美一区二区三区男人的天堂 | 久久se精品一区精品二区| 国产日韩在线一区| 老司机精品视频一区二区三区| 亚洲成色精品| 亚洲女性喷水在线观看一区| 国产自产精品| 欧美国产一区在线| 亚洲一区三区电影在线观看| 久久综合久久综合这里只有精品| 亚洲乱码国产乱码精品精98午夜| 国产精品二区三区四区| 久久不射电影网| 日韩视频在线观看国产| 久久婷婷激情| 亚洲网站啪啪| 永久久久久久| 国产精品视频免费| 欧美xxx成人| 欧美一级成年大片在线观看| 亚洲激情国产精品| 久久九九国产| 亚洲男人影院| 亚洲精品免费在线播放| 国产一区欧美日韩| 欧美日韩视频在线观看一区二区三区| 欧美亚洲一区三区| 亚洲精品综合| 欧美成人一区二区| 久久国产精品亚洲77777| 一区二区三区精密机械公司| 黄色成人在线网站| 国产欧美一区二区三区在线老狼| 欧美成人资源网| 久久三级视频| 久久高清福利视频| 亚洲综合电影| 亚洲图中文字幕| 一本大道av伊人久久综合| 欧美激情2020午夜免费观看| 久久欧美中文字幕| 欧美在线视频在线播放完整版免费观看 | 99ri日韩精品视频| 1769国产精品| 一区二区三区自拍| 国产资源精品在线观看| 国产农村妇女精品一二区| 欧美三级日本三级少妇99| 欧美激情一区二区三区全黄| 久久久一区二区| 久久精品亚洲国产奇米99| 欧美一级欧美一级在线播放| 亚洲午夜精品久久久久久app| 亚洲美女福利视频网站| 亚洲精品一区二区三区av| 欧美激情性爽国产精品17p| 久热精品在线| 欧美成在线视频| 亚洲电影成人| 亚洲精品一线二线三线无人区| 91久久嫩草影院一区二区| 亚洲国产高潮在线观看| 亚洲国产黄色片| 最新成人av网站| 一本色道88久久加勒比精品| 在线天堂一区av电影| 亚洲欧美激情一区| 久久国产精品亚洲va麻豆| 久久亚洲高清| 欧美精品v日韩精品v国产精品 | 久久国产手机看片| 久久天堂精品| 欧美日韩精品福利| 国产精品视频一区二区高潮| 国产一区二区成人久久免费影院| 激情综合网激情| 亚洲精品一区二区在线观看| 一区二区三区四区在线| 性色一区二区三区| 麻豆精品传媒视频| 亚洲美女区一区| 午夜精品偷拍| 欧美风情在线观看| 国产精品一区二区久激情瑜伽| 狠狠综合久久av一区二区老牛| 最新成人av网站| 亚洲男人的天堂在线观看| 久久男女视频| 99视频精品全国免费| 欧美在线1区| 欧美日韩视频在线| 国内精品免费在线观看| 夜色激情一区二区| 久久精品免费电影| 亚洲精品乱码| 久久久噜噜噜久久| 欧美性大战久久久久| 亚洲成色www久久网站| 亚洲一区二区在线视频| 鲁鲁狠狠狠7777一区二区| 亚洲精品一区久久久久久| 欧美在线影院在线视频| 欧美日韩国产在线观看| 精品av久久707| 亚洲永久免费视频| 亚洲国产小视频| 久久久综合激的五月天| 国产精品视频内| 一本色道**综合亚洲精品蜜桃冫| 久久天天躁狠狠躁夜夜爽蜜月| 99国产麻豆精品| 欧美黄色视屏|