類型別名 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胸口是假的...我只是個什麼都不懂的小男生...