c 11模板別名using

2021-08-01 13:18:18 字數 418 閱讀 2893

對於冗長或複雜的識別符號,如果能夠建立其別名將很方便。以前c++為此提供了typedef:

typedef std::vector::iterator ittype;

c++11提供了另一種建立別名的語法 using=

using ittype=std::vector::iterator ittype;

差別在於新語法也可以用於模板部分具體化,但是typedef不能:

template

using mystring = std::array;

int main()

上述語句具體化模板array將引數設定為12)。例如下面宣告:

std::arraya1;

std::arraya2;

可以替換為如下:

arr12a1;

arr12a2;

C 11 新特性 模板別名

豆子 2012年5月22日 c 參考文章 2002 年,iso c 標準化組織就已經提出了模板別名的概念。不過那時候還是叫做 typedef template。在接下來的幾年中,以 gabriel dos reis 和 bjarne stroustrup 為代表的開發者發展了這個想法,最終,我們在 ...

C 11 using定義型別別名 模板別名

在c 98 03裡,我們可以通過typedef 關鍵字定義乙個型別的別名,比如 typedef unsigned int uint t 在這裡我們定義了unsigned int型別的別名和uint t,在以後需要使用unsigned int的時候我們都可以用uint t替換,但是uint t僅僅是作...

C 11新特性之模板改進 別名

include using namespace std template typename t class foo foo private t foo template typename u classa a private u a intmain 如上示例 1 在c 98 03標準中,巢狀模板的右...