类型别名是一个名字,它是某种类型的同义词。
使用类型别名的好处:它让复杂的类型名字变的简单明了,易于理解和使用,还有助于程序员清楚的知道使用该类型的真实目的。
有两种方法可以定义类型别名:
1.传统的方法是使用关键字typedef
typedef double d;//d是double的同义词
typedef double *p;//p是double *的 同义词
typedef d a,*q;//a是double的同义词,q是double*的同义词
和以前的声明语句一样,此处的声明符也包含类型修饰,从而也可以定义复合类型的类型别名。
2.在c++新标准中,规定了一种新的类型别名的定义方法,使用关键字using。
using d = double;
指针、常量和类型别名
看下面的例子:#include <iostream>
using namespace std;
int main()
{
typedef char *pstring;
char c = 'a';
char *str = "aaaaa";
const pstring p1 = &c;
const pstring *p2 = &str;
return 0;
}
在这个例子里面,需要理解的是const pstring p1和const char * p1是不等同的。在这里前者的平p1是一个常量指针,而后者的p1是一个指向常量的指针。
如果理解错误写出了下面这样的代码则是无法通过编译的:
#include <iostream>
using namespace std;
int main()
{
typedef char *pstring;
const char c = 'a';
const char *str = "aaaaa";
const pstring p1 = &c;
const pstring *p2 = &str;
return 0;
}
在理解上面概念的过程中,还是花费了一些时间的,剩下的时间不够看一节内容的,所以我去学点看看python了。