如何理解 C++ 中的 typedef

假設有如下代碼,你聲明瞭一個函數指針funa

int *funa (int k);

編譯器就知道這一行聲明瞭一個函數指針,其指向的函數接收一個int類型的參數,返回值爲int

現在項目經理給編譯器作者說,“我要有一個typedef的功能,要能給某個類型起別名。”

編譯器作者說:“你不早說,我代碼都寫完了”。

抱怨歸抱怨,編譯器作者但還是得寫,那就用之前的輪子吧

typedef int *Funa (int k);

項目經理說:“這不就何之前一樣了嗎”

編譯器作者說:“誰讓你不早說,這樣我就能直接拿輪子了”

項目經理說:“也好,這樣也好記住”。

那麼:

Funa p1;
int *p2 (int k)

p1p2是等價的。

因爲Funaint * (int k)是一個類型,p1p2是一個類型。

參考

如何理解 C 語言中的 typedef ? - 霄池的回答 - 知乎

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章