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

天下

記錄修行的印記

模板特化和偏特化

模板特化和偏特化
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++模板

<2013年6月>
2627282930311
2345678
9101112131415
16171819202122
23242526272829
30123456

導航

統計

常用鏈接

留言簿(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>
            麻豆精品国产91久久久久久| 蜜臀久久99精品久久久久久9 | 欧美护士18xxxxhd| 久久激情视频免费观看| 伊人成人开心激情综合网| 久久综合一区| 欧美成人免费视频| 在线天堂一区av电影| 亚洲一区二区免费看| 国产在线播放一区二区三区| 免费看的黄色欧美网站| 欧美国产日韩一区二区| 亚洲欧美日韩国产中文| 欧美亚洲一区| 亚洲精品国产品国语在线app| 亚洲精品免费一区二区三区| 欧美小视频在线| 久久爱www.| 欧美国产另类| 欧美一区二区三区视频在线观看| 久久国产精品色婷婷| 亚洲精品之草原avav久久| 亚洲已满18点击进入久久| 亚洲国产成人av在线| 99re6热在线精品视频播放速度| 国产日韩欧美不卡在线| 欧美激情一区二区三区全黄| 国产精品爽黄69| 欧美激情一区三区| 国产欧美亚洲日本| 最新亚洲视频| 激情五月综合色婷婷一区二区| 亚洲日本成人在线观看| 狠狠久久综合婷婷不卡| aa国产精品| 亚洲黄色免费网站| 性欧美暴力猛交另类hd| 99在线|亚洲一区二区| 久久精品中文字幕一区| 亚洲女人天堂av| 毛片基地黄久久久久久天堂| 久久国产精品久久久| 欧美日韩国产成人在线观看| 美日韩丰满少妇在线观看| 国产精品久久影院| 亚洲精品影院| 91久久精品国产91久久性色tv| 亚洲欧美日韩网| 亚洲午夜日本在线观看| 欧美激情视频一区二区三区不卡| 久久久久久久97| 国产区二精品视| 亚洲天堂视频在线观看| 一区二区三区高清不卡| 欧美国产一区二区在线观看 | 夜夜精品视频| 久久在线免费观看| 久色婷婷小香蕉久久| 国产欧美一区二区三区在线看蜜臀| 亚洲最黄网站| 一区二区三区四区国产精品| 欧美激情视频在线播放| 欧美大尺度在线观看| 亚洲国产精品精华液网站| 久久久久在线| 欧美国产视频日韩| 亚洲福利在线观看| 蜜桃av噜噜一区| 亚洲激情亚洲| 亚洲私拍自拍| 国产精品高清免费在线观看| 一区二区三区导航| 午夜宅男久久久| 国产日韩欧美综合精品| 久久精品国产精品 | 亚洲在线一区二区三区| 国产精品九九| 欧美亚洲系列| 欧美91福利在线观看| 亚洲精品乱码视频| 欧美日韩国产一区| 亚洲一区二区免费看| 欧美一区二区三区在线视频| 国产综合色在线| 另类国产ts人妖高潮视频| 亚洲第一精品夜夜躁人人爽 | 在线播放不卡| 欧美电影电视剧在线观看| 亚洲美女在线看| 欧美一区二区三区啪啪| 精品二区久久| 欧美日韩精品欧美日韩精品| 亚洲伊人网站| 蜜臀久久99精品久久久画质超高清| 91久久久久久久久久久久久| 欧美日韩国产综合久久| 欧美一区二区三区的| 亚洲欧洲精品一区二区三区波多野1战4| 99热精品在线| 国内精品一区二区三区| 欧美精品免费看| 亚洲欧美国产制服动漫| 亚洲盗摄视频| 午夜一区二区三区不卡视频| 亚洲国产裸拍裸体视频在线观看乱了中文| 欧美激情一区二区| 久久不射电影网| 日韩一区二区精品葵司在线| 久久只有精品| 亚洲手机视频| 亚洲人体影院| 国产一区二区三区四区| 欧美日韩免费观看一区三区 | 一本久久青青| 欧美激情aⅴ一区二区三区| 性高湖久久久久久久久| 日韩一区二区精品葵司在线| 合欧美一区二区三区| 国产精品蜜臀在线观看| 欧美精品麻豆| 蜜臀a∨国产成人精品| 午夜国产一区| 99精品国产在热久久下载| 欧美成人一区二区在线 | 一本色道久久综合狠狠躁篇的优点| 国产色视频一区| 欧美亚男人的天堂| 欧美精品在线视频| 欧美成人精品一区二区| 老牛影视一区二区三区| 欧美中文字幕第一页| 亚洲欧美在线网| 亚洲网站视频| 亚洲永久免费| 亚洲性视频网站| 亚洲尤物精选| 午夜精品影院| 欧美一区二区三区在线播放| 亚洲欧美综合网| 亚洲欧美中日韩| 亚洲欧美日韩在线高清直播| 亚洲一区二区三区777| 中文av一区二区| 亚洲一区二区在| 亚洲欧美激情在线视频| 午夜精品999| 欧美一区二区在线视频| 欧美一区二区三区视频免费| 午夜精品av| 久久久精品动漫| 麻豆久久久9性大片| 欧美高清一区| 欧美日韩国产一区二区三区地区| 欧美日韩精品免费| 欧美亚州韩日在线看免费版国语版| 欧美四级电影网站| 国产精品一卡二卡| 国产主播精品在线| 亚洲国产99| 99精品久久| 欧美一区二区免费视频| 久久精品二区亚洲w码| 裸体一区二区| 亚洲精品视频免费观看| 亚洲视频中文字幕| 久久久99久久精品女同性| 农村妇女精品| 国产精品v亚洲精品v日韩精品| 国产日韩精品一区二区| 在线观看视频日韩| 亚洲性图久久| 久久综合久色欧美综合狠狠 | 久久人人爽爽爽人久久久| 久久夜色精品国产| 亚洲青色在线| 香蕉av福利精品导航| 麻豆成人综合网| 国产精品久久久久久久久搜平片| 国产亚洲午夜高清国产拍精品| 亚洲国产婷婷综合在线精品| 亚洲一区二区三区中文字幕在线 | 亚洲一区二区在线免费观看| 久久精品国产99| 亚洲人精品午夜在线观看| 午夜精品成人在线| 欧美精品在线免费播放| 国产日韩欧美亚洲一区| 一区二区高清视频在线观看| 久久免费精品视频| 日韩网站免费观看| 久久婷婷av| 国产亚洲精品久久久久久| 日韩一区二区精品视频| 久久综合中文| 亚洲一区在线免费观看| 欧美精品aa| 亚洲欧洲日韩综合二区| 久久久久国产精品人| 亚洲无毛电影| 欧美日韩中字|