c non type模板引數

2021-08-31 07:10:06 字數 377 閱讀 8030

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