一 概述
c++ 11 中新引入了关键字 using
二 using 关键字的用处
1. using namespace 与 using namespace member
cpp
#include<vector>
#include<list>
int main()
{
using namespace std;
vector<int> vec = {1, 2, 3};
using std::list;
list<int> li = {1, 2, 3};
return 0;
}
2. alias type 与 alias template
cpp
#include<vector>
// alias template
template<typename T>
using my_vector = std::vector<T, std::allocator<T>>;
int main()
{
// 重命名函数指针类型,函数入参有两个,均是 int 类型,返回值是 void 类型
// 此时 using 用法等同于 typedef
typedef void(*func1)(int, int);
using func2 = void(*)(int, int);
typedef std::string my_string1; // 用 my_string1 代表 std::string 类型
using my_string2 = std::string; // 用 my_string2 代表 std::string 类型
my_vector<int> vec = {1, 2, 3};
return 0;
}