天天爱天天做天天做天天吃中文|久久综合给久合久久综合|亚洲视频一区二区三区|亚洲国产综合精品2022
汶上信息港
標(biāo)題:
模板的概念
[打印本頁(yè)]
作者:
hbhdgpyz
時(shí)間:
2008-9-29 20:18
標(biāo)題:
模板的概念
<P>模板我們見(jiàn)過(guò)不少,就象編寫網(wǎng)頁(yè),設(shè)計(jì)了一個(gè)頁(yè)面模板后,我們就可以用它來(lái)編寫同樣風(fēng)格的頁(yè)面,只要把模板中相應(yīng)可編輯區(qū)的文字更新一下就可以了,這就減少了許多的重復(fù)工作量。</P>
2 ^4 N& J. x8 M4 C" Z$ A
<P>而C++中的模板也正是這樣,它可以使我們編寫程序時(shí)減少許多重復(fù)的工作量,<FONT color=#ff0000>C++支持兩種模板</FONT>,<FONT color=#0000ff>一種是函數(shù)模板</FONT>,<FONT color=#0000ff>一種是類模板</FONT>。模板由程序員定義,是供C++編譯器來(lái)使用的,由它根據(jù)實(shí)際的類型參數(shù)來(lái)替代模板中的相應(yīng)類型。</P>
# |8 B* R" J' z+ \& G( d& d6 x
<P>要識(shí)記的部分有:</P>
7 f7 [6 K0 J3 a& G
<P><FONT color=#0000ff>模板</FONT>可分為哪<FONT color=#0000ff>兩種類型</FONT>,一是<FONT color=#0000ff>有約束的模板</FONT>,二是<FONT color=#0000ff>無(wú)約束的模板</FONT>。對(duì)于函數(shù)模板而言,對(duì)類型沒(méi)有任何要求,只需是同一類型的變量就可以的模板就是無(wú)約束的函數(shù)模板。而在對(duì)處理的數(shù)據(jù)有要求的函數(shù)模板就是有約束的函數(shù)模板,比如要求相應(yīng)的數(shù)據(jù)是可序列化的(比較大小).</P>
9 J* o7 n3 H# s" S& r( N! L
<P><FONT color=#0000ff>定義模板的方法</FONT>:函數(shù)模板的格式為:</P>
8 u& t4 N6 `# H+ Q6 W, ~% U$ M
<P>template <class T></P>
- g `' h/ T5 T! T& y
<P>T fun (T a, T b ...)</P>
# I. F: i# ^2 m2 y3 v1 A8 u1 ~8 D; n
<P>{ //...}</P>
6 z A1 d7 f0 H$ z2 W9 M, e$ ~
<P>其中的class與類沒(méi)有任何關(guān)系,其意可理解為"用戶定義或固有的類型:"(當(dāng)然這個(gè)類型也可以是一個(gè)類),注意是用尖括號(hào)括起來(lái)的。這個(gè)形式基本上就是把一般函數(shù)的類型標(biāo)識(shí)符改成 class后面的標(biāo)識(shí)符T,然后在這個(gè)函數(shù)前面加一個(gè)模板的標(biāo)識(shí)符,這就告訴編譯器,以下的函數(shù)是個(gè)函數(shù)模板 。到時(shí)候要用相應(yīng)的類型來(lái)替換這個(gè)T。這和我們創(chuàng)建文檔模板也差不多。</P>
歡迎光臨 汶上信息港 (http://www.vancelump.com/)
Powered by Discuz! X3.5