using
C++ 11 后的类型别名或者模板别名
类型别名是指:之前定义的类型的引用(类似 typedef)
模板别名是指:模板类的引用
语法:
(1)using identifier attr(optional) = type-id;
(2)template<template-parameter-list>
using identifier attr(optional) = type-id
identifier : 你自己声明的变量名,可以是类型名或者模板名
type-id: 抽象类型
例子:
(1)using line_no = std::vector<string>::size_type;
相当于:typedef vector<string>::size_type line_no;
(2) // typedef void (*func)(int, int);
using func = void (*) (int, int); // the name 'func' now denotes a pointer to function
(3)template<class CharT>
using mystring = std::basic_string<CharT,std::char_traits<CharT>>;
mystring<char> str;