零、前言
C++11以后增加了许多新的特性,这些新的特性越来越方便C++程序员的编码,也再次赋予了C++新的活力与朝气!截止到目前C++20的标准已经出来了,C++这位“老先生”正在紧跟时代的步伐!作为Cpper也应该紧跟这位“老先生”脚步。
一、using
1、类型别名
C++中通常使用typedef来定义一个类型别名,尤其是在使用一些名字比较长的类型、一些模板或者域的时候,使用别名的优势显得更加突出。
C++11以后,定义类型别名不再是typedef的专利,using也可以用来定义类型别名了,并且可读性更强,using可以像定义一个变量一样来给一个类型取一个别名。
2、别名模板
using提供了别名模板的功能,别名模板是指代一族类型的名字,当模板特化时等价于以别名模板的模板实参来替换类型标识中的模板形参的结果。
3、代码示例
// UsingTest.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//
#include <iostream>
#include <vector>
using namespace std;
// UINT和Uint都是unsigned int的别名
typedef unsigned int UINT;
using Uint = unsigned int;
using ULL = unsigned long long;
// using 定义别名模板
template<typename T>
using vec = vector<T>;
int main()
{
cout