久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2119|回復: 0
收起左側

typedef用法

[復制鏈接]
ID:94349 發表于 2015-11-2 14:28 | 顯示全部樓層 |閱讀模式
typedef用法




typedef的作用:


1)用typedef簡化指向多維數組的指針的定義(C++primer P124)
2)用typedef簡化函數指針的定義(C++primer P237)
3) 用typedef簡化復雜類型的定義,如pair類型和map的value_type(C++primer P307,P313)



對typedef用法的領悟:

以前一直以為typdef的用法不過是typedef A B就是把類型B作為類型A的一個新名字。但是碰到像typedef string *pstring或者是typedef int int_array[4]這樣的定義就比較傻眼。

然后慢慢摸爬滾打明白了typedef的精髓。那就是typdef,定義什么就是什么。

比如定義一個string類型的指針變量,是string *str1;這個時候str1是變量名。

如果把這句話前面加上一個typdef,也就是typedef string *str2;這個時候str2就不是變量名,而是類型名,它的類型就是變量str1所具有的類型。也就是string *類型。

所以typedef string *pstring這句話的意思就豁然開朗了,那么我以后可以拿pstring去定義別的變量,不如pstring pstr;這就定義了一個指向string的指針對象pstr。

再比如typedef int int_array[4];如果去掉前面的typedef那么定義的是一個叫做int_array的含有4個元素的數組。前面加上typedef以后,int_array就變成了含有4個元素的數組類型的替代名。以后要有int_array ia;這句話我們就知道它等同于int ia[4];

再比如這一頁的指向函數的指針:

bool (*pf)(const string&, const string&)

使用typdef以后,定義這一類型(即同樣的形參以及同樣的返回類型)的函數指針語句都將得到簡化。方法如下:

typedef bool (*cmpFcn)(const string&, const string&);

用新得到的類型來定義兩個新的函數指針pf1和pf2,它們所指向的函數都有兩個const string&形參且返回bool類型值。以下是定義:

cmpFcn pf1;

cmpFcn pf2;




回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久综合一区 | 伊人网av| 欧美三级 欧美一级 | 日韩免费精品视频 | av在线免费网站 | 综合在线视频 | 黄色大片在线播放 | 色多多在线观看 | 欧洲色综合 | 久久久久97 | 日韩欧美三区 | 欧美色综合天天久久综合精品 | 青青草在线免费视频 | 中文字幕+乱码+中文乱码91 | 免费黄色网址在线观看 | 免费观看毛片 | 欧美日韩a | 亚洲精品视频免费 | 久久久网| 欧美日韩中文 | 国产农村妇女aaaaa视频 | 天堂99| 成人国产精品一区二区 | 日韩在线不卡视频 | 懂色av蜜臀av粉嫩av分享 | 欧美日韩精品在线 | 黄色国产在线观看 | 亚洲一级在线 | 欧美极品一区 | 欧美一级黄色录像 | 日韩在线网址 | 午夜精品一区二区三区在线播放 | 日日日操操操 | 一区在线视频 | 国产欧美日韩综合 | 国产福利在线播放 | 一区二区不卡视频 | 国产午夜精品视频 | 超碰人人人人 | 欧美一区二区精品 | 日本中文字幕在线播放 |