GeekBand筆記: C++面向?qū)ο蟾呒壘幊蹋?)

Templates and Generic Programming

  • 泛型技術(shù)扣唱。比如:模板技術(shù)汞舱,RTTI技術(shù)诸老,虛函數(shù)技術(shù)隆夯,要么是試圖做到在編譯時(shí)決議,要么試圖做到運(yùn)行時(shí)決議别伏。
  • 模板是泛型編程的基礎(chǔ)

模板 template

  • 模板不是類或函數(shù)蹄衷,可以將模板看作編譯器生成類或者函數(shù)的一份說明書;
  • 編譯器根據(jù)模板創(chuàng)建類或者函數(shù)的過程稱為模板的實(shí)例化(instantiation);
  • 使用模板時(shí),必須(隱式或顯式)指定模板實(shí)參
    • 顯式模板實(shí)參(explicit template argument)
    max<int> (1, 3.0); //function template
    Blob<int> a; //class template 必須顯式指定
    
    • 隱式模板實(shí)參(implicit template argument)
    max(1, 2); //function template
    

函數(shù)模板(function template)

template<template parameter list>
template<typename T1, typename T2>

函數(shù)模板實(shí)例化 instantiate

When the compiler instantiates a template, it creates a new “instance” of
the template using the actual template argument(s) in place of the
corresponding template parameter(s).

非類型模板參數(shù)(nontype parameter)

template <unsigned N, unsigned M>
inline int compare(const char (&p1)[N], const char (&p2)[M]) {
    return strcmp(p1, p2);
};

// 非類型模板參數(shù)的模板實(shí)參必須是常量表達(dá)式
cout << compare("a", "ba") << endl;

類模板(class template)

類模板的實(shí)例化

  • 類模板實(shí)例化必須提供顯式模板實(shí)參
Blob<int> ia;
Blob<int> ia2 = {0, 1, 2, 3, 4};
  • 一個(gè)實(shí)例化了的類模板厘肮,其成員函數(shù)只有在使用時(shí)才被實(shí)例化
Blob<int> ia2 = {0, 1, 2, 3, 4}; // 類模板實(shí)例化
ia2.size(); // 實(shí)例化 Blob<int>::size() const
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末愧口,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子类茂,更是在濱河造成了極大的恐慌调卑,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件大咱,死亡現(xiàn)場離奇詭異恬涧,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)碴巾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進(jìn)店門溯捆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人厦瓢,你說我怎么就攤上這事提揍。” “怎么了煮仇?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵劳跃,是天一觀的道長。 經(jīng)常有香客問我浙垫,道長刨仑,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任夹姥,我火速辦了婚禮杉武,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘辙售。我一直安慰自己轻抱,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布旦部。 她就那樣靜靜地躺著祈搜,像睡著了一般较店。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上容燕,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天梁呈,我揣著相機(jī)與錄音,去河邊找鬼缰趋。 笑死捧杉,一個(gè)胖子當(dāng)著我的面吹牛陕见,可吹牛的內(nèi)容都是我干的秘血。 我是一名探鬼主播,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼评甜,長吁一口氣:“原來是場噩夢啊……” “哼灰粮!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起忍坷,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤粘舟,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后佩研,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體柑肴,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年旬薯,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了晰骑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,981評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡绊序,死狀恐怖硕舆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情骤公,我是刑警寧澤抚官,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站阶捆,受9級特大地震影響凌节,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜洒试,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一刊咳、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧儡司,春花似錦娱挨、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽酵镜。三九已至,卻和暖如春柴钻,著一層夾襖步出監(jiān)牢的瞬間淮韭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工贴届, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留靠粪,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓毫蚓,卻偏偏與公主長得像占键,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子元潘,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容