深入理解C++11 3.10 模板的别名 using

在C++中,可以如下使用typedef

typedef std::vector<std::string> strvec;

在C++11中可以使用using实现同样的功能,如:

using namespace std;

using uint = unsigned int;
typedef unsigned int UINT;

int main(){
    cout << is_same<uint, UINT>::value << endl; // 输出1
    return 0;
}

在使用模板编程的时候,using的语法比typedef更加灵活,如:

template<typename T> using MapString = std::map<T, char*>;

MapString<int> numberedString;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第一、四个用途 用途一: 定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:cha...
    PengboGai阅读 3,968评论 1 3
  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,148评论 1 32
  • 熟悉C++的程序员都知道,C++是一门多范式编程语言,支持面向过程、面向对象、泛型编程以及函数式编程范式。然而提到...
    MagicBowen阅读 7,173评论 8 18
  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 9,541评论 1 51
  • 作者受克兰德的邀请去他家里坐坐,尽管对于施特略夫的事情克兰德还对他非常鄙视。但是出于某种好奇他去了,看到了克...
    胡妙妙阅读 334评论 0 0