對於冗長或複雜的識別符號,如果能夠建立其別名將很方便。以前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標準中,巢狀模板的右...