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

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2116|回復(fù): 0
收起左側(cè)

typedef用法

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




typedef的作用:


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



對(duì)typedef用法的領(lǐng)悟:

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

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

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

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

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

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

再比如這一頁(yè)的指向函數(shù)的指針:

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

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

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

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

cmpFcn pf1;

cmpFcn pf2;




回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

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

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久精品国产99国产精品 | 久久久成人精品 | 日韩欧美不卡 | 欧美精品久久久 | 精品久久久久久久久久久下田 | 一级毛片在线看 | 亚洲毛片| 亚洲精品www | 日韩精品一区二区三区在线观看 | 91资源在线| 亚洲狠狠| 中文在线一区二区 | 成人在线网址 | 久久精品国产精品青草 | 国产精品久久久久久久久久东京 | 色橹橹欧美在线观看视频高清 | 国产精品一区二区在线 | 在线观看成人 | av高清毛片| 性视频一区 | 欧美爱爱视频网站 | 久久精品亚洲 | 免费视频一区二区 | 国产视频中文字幕 | 伊人欧美视频 | 亚洲国产中文在线 | 成人毛片视频在线播放 | 精品国产色 | 草草在线观看 | 999久久久久久久久 国产欧美在线观看 | 日韩成人一区二区 | 亚洲精品v日韩精品 | 午夜影院视频 | 东方伊人免费在线观看 | 亚洲 精品 综合 精品 自拍 | 国产高清视频一区二区 | 欧美中文一区 | 日韩毛片在线免费观看 | 亚洲精品一区二区二区 | 国产草草视频 | 欧美性久久久 |