內(nèi)容很不完整,僅僅是我自己所知的部分,如有知道詳細(xì)資料的同學(xué)們請(qǐng)一起來(lái)完成它,有錯(cuò)誤的地方請(qǐng)幫我提出來(lái),等資料多一點(diǎn)我再把文字內(nèi)容整理一下,我目前就知道這么多了。
下面內(nèi)容中沒(méi)有加入年代的,表示我不知道(IUnknown)。。。嘿嘿。
1990年7月,模板被加入C++。
1994年,C++標(biāo)準(zhǔn)委員會(huì)在圣迭哥舉行的一次會(huì)議期間Erwin Unruh展示了一段可以產(chǎn)生質(zhì)數(shù)的代碼。這段代碼的特別之處在于質(zhì)數(shù)產(chǎn)生于編譯期而非運(yùn)行期。
SGI STL中大量使用Traits模板技術(shù),整個(gè)庫(kù)使用模板技術(shù)構(gòu)建。STL(標(biāo)準(zhǔn)模板庫(kù))成為C++標(biāo)準(zhǔn)庫(kù)的代名詞。(哪年開始的呢。。。)
2000年6月,Krzysztof Czarnecki和Ulrich W.Eisenecker合著的《Generative Programming: Methods, Tools, and Applications》一書中,展示了使用C++模板元編程完成的編譯期判斷、循環(huán)等技巧。(這本書不是以C++為主,C++模板元編程只占一小部分)
2001年2月,Andrei Alexandrescu在出版的《Modern C++ Design》中,對(duì)于編譯期多態(tài)、編譯期配置策略等方面做了深入研究,把C++模板技術(shù)應(yīng)用推同更高層次。(不知道是不是他最先研究到這個(gè)層次,不過(guò)我看到的資料很多是這么說(shuō)的。)
boost庫(kù)是由C++標(biāo)準(zhǔn)委員會(huì)成員發(fā)起的一個(gè)C++準(zhǔn)標(biāo)準(zhǔn)庫(kù),主要是以模板技術(shù)構(gòu)建,很多方面超過(guò)了MCD。(不過(guò)MCD依舊是我的最愛(ài))
Blitz++和MPL是2個(gè)基于C++模板的高效數(shù)值計(jì)算程序庫(kù)。