c++ STL 泛型 模板

動態多態 運行期間 面向對象
純虛函數 強制實現

更難調試,運行更快
靜態多態 編譯期間 泛型
必須實現那些接口 非強制實行

份文件寫注意

    template<typename T>
    class Demo
        public:
            template<typename X>
            void Assign(const X val);

    template<typename T>//注意順序
    template<typename X>
    void Assign(const X val);

不同類型調用

Demo<int> demo_int;
Demo<double> demo_double;
demo_int.Assign(demo_double.GetVal());//使用統一接口獲取,因爲是兩個class()
//寫operator= 注意

全特化,編譯時生成,是個全新的類,需要全部重寫

template<typename T>
class Demo
template<>//特化int類型需要重新寫
class Demo<int>

偏特化,特化一部分,其餘的代碼編譯器還是會幫你生成

template<>
class Demo<int *>::Demo()//偏特化Demo()構造,特化一部分

模板類繼承

template<typename T>
class sonDemo::public Demo<T>

模板類單例模式,當包裝器
把模板類做成單利模式,裏面包裝的類都會變成包裝器

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章