类型别名 typedef & using

类型别名 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胸口是假的...我只是个什么都不懂的小男生...

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页