日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國(guó)內(nèi)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > 互聯(lián)網(wǎng) > C/C++學(xué)習(xí):函數(shù)指針

C/C++學(xué)習(xí):函數(shù)指針

來源:程序員人生   發(fā)布時(shí)間:2014-11-18 08:54:54 閱讀次數(shù):3595次

之前在書上看到函數(shù)指針相干的都沒怎樣重視,但是最近在實(shí)際的工作中卻派上了用處。所以認(rèn)真地學(xué)習(xí)了1遍。

函數(shù)指針的申明

申明1個(gè)函數(shù)指針很簡(jiǎn)單,就是將函數(shù)申明中的函數(shù)名替換為1個(gè)指針便可:

C/C++
int test(int para1, double *para2); // 函數(shù)申明 int (*pf)(int para1, double *para2); // 函數(shù)指針申明

NOTE: 必須在申明中用括號(hào)將*pf括起來,由于括號(hào)的優(yōu)先級(jí)比*運(yùn)算符高,因此:

C/C++
int (*pf)(int para1, double *para2); // 1個(gè)指向函數(shù)的指針 int *pf(int para1, double *para2); // 1個(gè)返回指針的函數(shù)

申明完函數(shù)指針的下1步就是對(duì)函數(shù)指針賦值,也就是將函數(shù)指針指向1個(gè)類型匹配的函數(shù)(這跟基本類型的指針1致),1個(gè)函數(shù)的函數(shù)名就是該函數(shù)的地址

C/C++
pf = test; int (*pf1)(int para1, double *para2) = test; // 也能夠在函數(shù)指針申明時(shí)完成初始化

C++11有了自動(dòng)類型推斷功能,就簡(jiǎn)單了很多:

C++11 code
auto pf = test;

使用函數(shù)指針調(diào)用函數(shù)

(*pf)扮演的角色與函數(shù)名相同,因此使用(*pf)時(shí),只需要將它看作函數(shù)名便可:

C/C++
int n = 0; double d = 0.0; int r = 0; r = (*pf)(n, &d); r = pf(n, &d); // 這類方式C/C++也是允許的

函數(shù)指針數(shù)組

我們有可能還需要用到函數(shù)指針數(shù)組,示例以下:

C/C++
int test1(int para1, double *para2); // 函數(shù)申明 int test2(int para1, double *para2); // 函數(shù)申明 int test3(int para1, double *para2); // 函數(shù)申明 int (*pfArray[3])(int para1, double *para2) = {test1, test2, test3}; // 函數(shù)指針數(shù)組申明及初始化 r = *pfArray[0](n, &d); // 函數(shù)調(diào)用

可以看到這類方式使用函數(shù)指針是比較麻煩的,試想如果上面的函數(shù)返回值是const指針,而我們又想將函數(shù)指針數(shù)組申明為不可更改的,那這個(gè)const應(yīng)當(dāng)加到哪?這里提供另外1個(gè)比較簡(jiǎn)單的解決方法,也就是下面將要說到的使用typedef進(jìn)行簡(jiǎn)化

使用typedef進(jìn)行簡(jiǎn)化

C/C++
typedef int (*p_fun)(int para1, double *para2); // 這樣我們就可以像使用1個(gè)普通類型那樣來使用函數(shù)指針了 p_fun pf = test; const p_fun pf1 = test; // 常量函數(shù)指針申明及初始化,注意跟1般的const數(shù)據(jù)類型1樣,常量函數(shù)指針必須在申明時(shí)完成初始化 p_fun pfArray[3] = {test1, test2, test3}; const p_fun pfArray1[3] = {test1, test2, test3}; // 常量函數(shù)指針數(shù)組申明及初始化

It's that easy!


參考書籍:《C++ Primer Plus (第6版)中文版》

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對(duì)您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈(zèng)
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 久久99精品久久久久婷婷 | 九九精品在线观看 | aaaaaaaaa毛片| 午夜羞羞视频 | 亚洲美女视频一区 | 日韩一级大片 | 久久久久久久国产精品 | 午夜精品久久久久久久白皮肤 | 黄色短视频在线播放 | 美女人人操 | 国产美女被遭强高潮免费网站 | 成人久久久久久久 | 亚洲国内精品 | 欧美日视频| 毛片在线免费播放 | 不卡一区二区三区四区 | 农村黄性色生活片 | 亚洲精品9999| 日韩在线精品视频 | 国产传媒在线视频 | 免费a大片| 99九九久久 | 亚洲午夜久久久 | 中韩乱幕日产无线码一区 | 激情欧美一区二区三区 | 91玖玖| 国产91九色 | 国产3p视频 | 亚洲第一二区 | 精品一区视频 | 国产乱淫av麻豆国产免费 | 97视频国产| 31xx视频免费播放 | 男女做网站 | 精品国产欧美一区二区三区成人 | 91视频在线播放视频 | 亚洲三级网站 | 麻豆久久久久久 | 美女视频黄的免费 | 国产精品久久久久久久久免费丝袜 | 久久久精品一区二区三区 |