最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C/C++中typedef的用法大全

 更新時間:2023年04月25日 10:03:16   作者:Thomas_Lbw  
typedef用法一共七種,分別是:為基本數(shù)據(jù)類型起別名、為結構體起別名、為指針類型起別名、為數(shù)組類型起別名、為枚舉類型起別名、為模版函數(shù)起別名。本文就來分別講講這7個用法的具體實現(xiàn)吧

一、為基本數(shù)據(jù)類型起別名

typedef int myint;
myint x = 5;

"myint"是"int"的別名,可以使用"myint"來代替"int"聲明變量,這個很好理解,但是也很少有人這么用吧。

二、為結構體起別名

這個在學C語言時就知道了:

typedef struct {
    int x;
    int y;
} Point;
 
Point p = { 3, 4 };

三、為指針類型起別名

在這個例子中,"intptr"是指向"int"類型的指針的別名,可以使用"intptr"來聲明指針變量。為防止代碼閱讀者有障礙,慎用吧。

typedef int* intptr;
intptr p = new int;
*p = 5;

四、為函數(shù)指針類型起別名

在這個例子中,"func_ptr"是指向函數(shù)的指針類型的別名,可以使用"func_ptr"來聲明函數(shù)指針變量。

typedef int (*func_ptr)(int, int);
int add(int a, int b) { return a + b; }
 
func_ptr f = add;
int result = (*f)(3, 4);

這個在DLL導出用到的比較多,如:

typedef MyInterface* (*CreateMyObjectFunc)(); 

在這個例子中,typedef 聲明了一個名為 CreateMyObjectFunc 的新類型。CreateMyObjectFunc 是一個函數(shù)指針類型,它指向一個返回值為 MyInterface* 類型的函數(shù),該函數(shù)沒有參數(shù)。

這種函數(shù)指針類型的定義通常用于動態(tài)加載庫文件中的函數(shù)。通過這種方式,可以定義一個函數(shù)指針類型來代表動態(tài)加載的庫文件中的函數(shù),并將其作為參數(shù)傳遞給動態(tài)加載函數(shù)。然后可以使用該函數(shù)指針類型調用動態(tài)加載函數(shù)中的函數(shù)。在這種情況下,CreateMyObjectFunc 函數(shù)指針類型可以用于動態(tài)加載庫文件中的一個函數(shù),該函數(shù)返回一個 MyInterface 類型的指針。

五、為數(shù)組類型起別名

typedef int myarray[10];
myarray arr = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

六、為枚舉類型起別名

typedef enum { red, green, blue } Color;
Color c = green;

七、為模版函數(shù)起別名

在這個例子中,"IntStruct"是模板類型"MyStruct"的具體化,可以使用"IntStruct"來聲明"MyStruct<int>"類型的變量。

template <typename T>
struct MyStruct {
    T value;
};
 
typedef MyStruct<int> IntStruct;
IntStruct s = { 5 };

到此這篇關于C/C++中typedef的用法大全的文章就介紹到這了,更多相關C++ typedef內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • C++實現(xiàn)大整數(shù)乘法(字符串乘法)

    C++實現(xiàn)大整數(shù)乘法(字符串乘法)

    這篇文章主要為大家詳細介紹了C++實現(xiàn)大整數(shù)乘法、字符串乘法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • Qt超時鎖屏的實現(xiàn)示例

    Qt超時鎖屏的實現(xiàn)示例

    本文主要介紹了Qt超時鎖屏的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • C語言?模擬實現(xiàn)strlen函數(shù)詳解

    C語言?模擬實現(xiàn)strlen函數(shù)詳解

    在 C 語言 中我們要獲取 字符串 的長度,可以使用strlen 函數(shù),strlen 函數(shù)計算字符串的長度時,直到空結束字符,但不包括空結束字符,因為 strlen 函數(shù)時不包含最后的結束字符的,因此一般使用 strlen函數(shù)計算的字符串的長度會比使用 sizeof 計算的字符串的字節(jié)數(shù)要小
    2022-04-04
  • C++中棧結構建立與操作詳細解析

    C++中棧結構建立與操作詳細解析

    我們可以把棧理解成一個大倉庫,放在倉庫門口(棧頂)的貨物會優(yōu)先被取出,然后再取出里面的貨物。而從數(shù)據(jù)的邏輯結構來看,棧結構起始就是一種線性結構
    2013-10-10
  • C語言switch使用之詭異用法詳解

    C語言switch使用之詭異用法詳解

    今天小編就為大家分享一篇C語言switch使用之詭異用法詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • C語言 野指針與空指針專篇解讀

    C語言 野指針與空指針專篇解讀

    全網(wǎng)最接地氣的C語言野指針介紹,此處對于野指針與空指針知識點做一些簡要的介紹,作者實屬初學,寫博客也是作者學習的一個過程,難免文章中有內容理解不到位或者有不當之處,還請朋友們不吝指正,希望大家多多給予支持,贈人玫瑰,手有余香
    2021-11-11
  • VSCode遠程代碼開發(fā)及DNS隧道端口轉發(fā)實現(xiàn)遠程辦公代碼

    VSCode遠程代碼開發(fā)及DNS隧道端口轉發(fā)實現(xiàn)遠程辦公代碼

    這篇文章主要介紹了VSCode遠程代碼開發(fā)及DNS隧道端口轉發(fā)實現(xiàn)遠程辦公,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • C語言棧順序結構實現(xiàn)代碼

    C語言棧順序結構實現(xiàn)代碼

    一個能夠自動擴容的順序結構的棧 ArrStack 實例 (GCC編譯),有需要的朋友可以參考一下
    2013-10-10
  • C++中的三大函數(shù)和操作符重載(Boolan)

    C++中的三大函數(shù)和操作符重載(Boolan)

    本文主要介紹了C++中的三大函數(shù)和操作符重載(Boolan)的相關知識。具有很好的參考價值,下面跟著小編一起來看下吧
    2017-02-02
  • 如何讓Dev-C++支持auto關鍵字呢

    如何讓Dev-C++支持auto關鍵字呢

    這篇文章主要介紹了如何讓Dev-C++支持auto關鍵字問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12

最新評論

商南县| 葫芦岛市| 建宁县| 阳信县| 辰溪县| 咸丰县| 康乐县| 辰溪县| 定结县| 钦州市| 鄯善县| 平顶山市| 龙山县| 乐至县| 蚌埠市| 阿坝| 公安县| 霍城县| 德惠市| 武义县| 阿瓦提县| 三明市| 赤峰市| 当阳市| 和硕县| 马鞍山市| 张掖市| 安多县| 青海省| 元谋县| 嘉峪关市| 溆浦县| 安乡县| 海林市| 鄱阳县| 鄂托克旗| 鄂托克前旗| 静海县| 镇巴县| 宝丰县| 博湖县|