关于C++11 模板中的 using

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;  

     

posted @ 2016-11-04 10:17  codingtao  阅读(7495)  评论(0编辑  收藏  举报