天天看點

C++11快餐教程(1)-通過using定義類型的别名C++11快餐教程(1)-通過using定義類型的别名

在c/c++中,我們經常通過typedef來定義類型的别名。

例如:

但是,這樣定義有一點不好,新定義的别名是放在後面的。一般我們都是通過别名找原名,從後往前找還是不友善的。

那麼,我們把别名定義在前面好不好?

在c++11中,using不再隻是用于using namespace啦,從此在别名領域大顯身手。

using用來定義别名,特别适用于在模闆的情況下:

下面的例子來源于art中的容器類型的定義:

有了上面的定義之後,我們的封裝後的類型就可以泛型使用了:

這是typedef無法實作的哦。

小結一下:

c++11中的using關鍵字可以實作typedef的功能,而using的定義順序有利于查找

using在模闆類型的别名定義比typedef要有效

繼續閱讀