typedef是在计算机编程语言中用来为复杂的声明定义简单的别名。
typedef 可以将一切合法的变量名(指针名,数组名)转化为类型名。
typedef 具体讲解见文章:typedef_♚陌上花开的博客-CSDN博客
http://t.csdn.cn/zkjfuhttp://t.csdn.cn/zkjfuusing 和typedef 的用法相同,都是用来给复杂的声明定义简单的别名的。
typedef unsigned int u_int;//u_int 就是unsigned int类型
using u_int = unsigned int;//等价于上面的表达式
int main()
{
u_int x;//x为u_int类型,也就是unsigned int 类型
u_int y;
}
typedef unsigned int u_int;//u_int 就是unsigned int类型
using u_int = unsigned int;//等价于上面的表达式
int Array[10];//Array是一个函数10个元素的数组
typedef int Array[10];//Array就变成了一个大小为10的int数组类型
using Array = int[10];
Array ar = { 1,2,3,4,5,6,7,8,9,10 };
void (*PFUN)();//函数指针,PFUN是一个指针,指向一个数组,数组返回值为无类型
typedef void (*PFUN)();//PFUN变为了函数指针类型
using PFUN = void(*)();
using 和 模板联系
#include<iostream>
using namespace std;
template<class T>
using Point = T*;//指针
template<class T>
using Refer = T&;//引用
int main()
{
int a = 10;
char b = 'a';
Point<int> p = &a;//p是整型指针
Point<char>p = &b;//cp是char类型指针
Refer<int>c = a;//c是a的别名
return 0;
}
#include<iostream>
using namespace std;
template<class T,int N>
using Array = T[N];//Array类型就是int类型的数组
int main()
{
Array<int, 10>ar;//ar是整型数组类型
Array<double, 20>dr;
return 0;
}