下图中通过使用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");
}
结果: