nont-type的模板引數,用的最多的地方就是建立模板時,傳入乙個數字來初始化模板內部初始化陣列大小(或者建立其他指定型別的資料結構);
類似於這種:
tempalteclass test
其中的n就是幹這個事情的,這種引數成為非型別(non-type)或者表示式引數;當然也可以用其他方法傳進去,指標,引用,整型,列舉都可以;但是不能傳入double值;在模板內部也不允許修改值和訪問位址等。
優點:相比較於使用建構函式中,new 和delete 建立刪除,new是在堆空間操作,速度慢;這種方式是直接在記憶體空間中建立,更快;
缺點:每種陣列都需要生成自己的模板;
參考:c++ primer plus 第六版p577
C 模板模板引數
c 模板的使用一共有以下幾種情況。而本篇介紹模板模板引數。模板引數就是模板的引數,我們一般指定為t型別,實際上可以使用任何的名字,例如指定乙個foo的模板引數 temlate foo calc const foo a,const foo b 而模板模板引數則是模板的引數又是乙個模板,例如 templ...
C 模板模板引數
模板引數就是模板的引數,我們一般指定為t型別,實際上可以使用任何的名字,例如指定乙個foo的模板引數 temlate foo calc const foo a,const foo b 而模板模板引數則是模板的引數又是乙個模板,例如 templatetypename container class x...
可變參模板模板模板引數
include include include include include include include include using namespace std namespace nmsp1 classa template typename.args class myclasst 主模板 t...