类型别名 typedef & using
#include <iostream>
using namespace std;
/**
typedef
1.类型别名 这时当我们在声明定义的时候他就是类型,而不是变量名
2.你可以再声明任意变量名的时候,使用这个类型的别名,可以运行。但是问题是在这个变量名作用域范围内再无法使用这个类型别名
3.可以由“,”隔开,给他起好几个名字,名字前加"*"表示该类型的指针
4.可以对复合类型起别名,但是如果把他放在声明的时候会有奇怪的效果。不能简单的把别名替换为原来的类型。
using
1.介系c++支持的一种雷没有玩过的传新方法
2.但是他好像不支持 在一行里有多个别名,用“,”隔开,也不支持在别名前面加“×”号
3.关于复合类型造成的问题他同样有
*/
typedef int gjldw, *gjl;
typedef int whh,whhh;
typedef int * wocao;
typedef const int * wocao2;
typedef int * const wocao3;
using biu=char;
using biubiu=char *;
using biubiubiu=const char *;
int main(void)
{
whh whhh;//令人窒息的操作
char whh;
//whh wb;//见2
/***对与第四条的详例***/
int a;
const wocao pa=&a;
const int *pb=&a;//对于上一条语句别名简单的替换,pa.pb不是一个类型
/*问题一:pa,pb两个分别是什么类型?
pa 常量指针
pb 指向常量的指针
可以用下面的修测试断一下
*/
//pa++; (*pa)++; pb++: (*pb)++;//四个里那个会成功
const wocao2 qa=&a;
const wocao3 qb=&a;
//可以思考一下这两个又分别是什么类型,他和上面的大同小异,我懒得再写了。。。。
return 0;
}
每次看到C++这些坑人的小点就难受,那些令人窒息的操作真是谁用谁难受,简直就是在bug的边缘试探。
上篇文章说36D胸口是假的...我只是个什么都不懂的小男生...