• <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>

            The Programming world of Alex

            C++模板內(nèi)容拾遺

            上C++課程的時候老師總是鼓吹模板如何重要,但是真正上課時候卻將該部分跳過。平時做項目寫程序雖然天天接觸STL,但說到如何實(shí)現(xiàn)模板真的是道不出其一二。現(xiàn)將這幾天看C++Primer中的一些重要概念提取出來,以備不時之需。
            1,模板的用處。
            模板其實(shí)也是多態(tài)思想的一種體現(xiàn),不過不是C++那個運(yùn)行時多態(tài),而是編譯時多態(tài)。那么用在什么地方呢?個人感覺用的最多的是在數(shù)據(jù)結(jié)構(gòu)中,一些經(jīng)典的數(shù)據(jù)結(jié)構(gòu)(Queue,Stack)用模板類實(shí)現(xiàn)確實(shí)事半功倍。至于其他地方嘛。。。也許是自己的功力不夠,幾乎就沒有用過(設(shè)計模式不也是一樣的道理嘛,囧)
            2,模板定義
            模板函數(shù)定義:
            template<typename T>
            int compare(const T &v1,const T &v2);
            內(nèi)聯(lián)函數(shù):
            inline template<typename T> int compare(const T &v1,const T &v2);

            模板類定義:
            template<class Type> class Queue
            {
             public:
                Queue();
               Type T& front();
            //......
            }
            3,模板類實(shí)例化
            Queue<int> qi;
            其實(shí)這個不就是和STL一模一樣嘛?確實(shí)是的,STL不就是幫我們這些經(jīng)典的數(shù)據(jù)結(jié)構(gòu)一一實(shí)現(xiàn)了嘛?

            4,友元的在模板類的使用
            friend class Queue<Type>;
            這樣就將Queue這個模板類設(shè)為了友元,之前必須要有Queue<Type>的聲明,如template<class Type> class Queue;

            5,static在模板類中
            一個模板類會有多個static實(shí)例成員,但每種類型的模板類只有一個static成員!
            比如說Queue<int>有一個static成員,Queue<string>也有一個static成員

            討論:
            如果你討厭鏈接錯誤,那么你一定覺得模板這個東西是讓人討厭的,起碼編譯器是很討厭模板的,要知道在實(shí)例化時才會確定模板中T的類型,再根據(jù)他生成相應(yīng)的代碼是件很麻煩的事情,模板類在這個問題上顯得尤其麻煩。
            一般寫類都是將定義和聲明放在兩個文件中的,這樣清晰明了,但是在模板類中絕對不可以!編譯器會找不到你定義的那些方法!

            所以說,寫模板類的話就請寫在一個文件中吧,MS到現(xiàn)在還把export留作未來使用的關(guān)鍵字在,我們暫時就不要指望這個了吧!

            posted on 2009-03-11 19:56 Alex@VCC 閱讀(1444) 評論(1)  編輯 收藏 引用 所屬分類: C++程序設(shè)計

            評論

            # re: C++模板內(nèi)容拾遺 2009-03-18 14:14 江洪

            工整,贊一個  回復(fù)  更多評論   

            <2009年4月>
            2930311234
            567891011
            12131415161718
            19202122232425
            262728293012
            3456789

            導(dǎo)航

            統(tǒng)計

            常用鏈接

            留言簿(5)

            隨筆分類

            隨筆檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            国产精品久久久99| 久久久WWW成人| 偷窥少妇久久久久久久久| 久久综合久久久| 亚洲午夜久久影院| 亚洲一区中文字幕久久| 久久青青草原精品影院| 国产精品一久久香蕉产线看| 久久A级毛片免费观看| 日韩人妻无码一区二区三区久久 | 精品免费久久久久国产一区| 99久久精品日本一区二区免费| 精品久久久久香蕉网| 久久99国内精品自在现线| 久久久久国产精品熟女影院| 无码人妻少妇久久中文字幕蜜桃 | 一本色道久久综合狠狠躁| 少妇人妻综合久久中文字幕| 久久久精品视频免费观看| 久久97久久97精品免视看秋霞| 94久久国产乱子伦精品免费| 亚洲一区二区三区日本久久九| 国产—久久香蕉国产线看观看| 精品久久久久一区二区三区| 久久频这里精品99香蕉久| 久久久精品人妻一区二区三区蜜桃| 亚洲精品高清国产一线久久| 狠狠色婷婷久久一区二区三区| 久久精品国产免费| 亚洲国产成人久久综合野外| 亚洲色欲久久久综合网东京热| 国产成人久久激情91| 久久精品国产精品亜洲毛片| 无遮挡粉嫩小泬久久久久久久 | 久久久久无码精品| 99精品国产99久久久久久97 | 日韩亚洲欧美久久久www综合网 | 久久中文字幕人妻丝袜| 久久久久久毛片免费播放| 国产精品午夜久久| 精品久久久久成人码免费动漫|