在c/c++中,我們經常通過typedef來定義類型的别名。
例如:
但是,這樣定義有一點不好,新定義的别名是放在後面的。一般我們都是通過别名找原名,從後往前找還是不友善的。
那麼,我們把别名定義在前面好不好?
在c++11中,using不再隻是用于using namespace啦,從此在别名領域大顯身手。
using用來定義别名,特别适用于在模闆的情況下:
下面的例子來源于art中的容器類型的定義:
有了上面的定義之後,我們的封裝後的類型就可以泛型使用了:
這是typedef無法實作的哦。
小結一下:
c++11中的using關鍵字可以實作typedef的功能,而using的定義順序有利于查找
using在模闆類型的别名定義比typedef要有效