下图中通过使用using Vec = std::vector<T,MyAlloc>进行模板别名的定义,从而可以直接使用Vec coll来代替上一句话,这种方法类似于C++中的typedef,但这种C++11的新机制不仅仅是为了通过设置模板别名来少写几个字,且其也无法通过typedef或#define代替,如图中下方所示。
示例:
template<typename T> using TyVc1 = std::vector < T >; //不能实现 template<typename T> typedef vector<T> TyVc2; void main() { TyVc1<int> vc1{ 1, 23, 4, 5 }; for (auto node :vc1) { cout << node << "" ; } cout << endl; system("pause"); }
结果: