亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

簡明的C++函數指針學習教程

2020-01-26 14:38:15
字體:
來源:轉載
供稿:網友

定義
每一個函數都占用一段內存單元,它們有一個起始地址,指向函數入口地址的指針稱為函數指針。

語法
數據類型 (*指針變量名)(參數表):

int (*myFunc)(double b, int c);

說明

函數指針的定義形式中的數據類型是指函數的返回值的類型。
區分下面兩個語句:

int (*p)(int a, int b);//p是一個指向函數的指針變量,所指函數的返回值類型為整型int *p(int a, int b);//p是函數名,此函數的返回值類型為整型指針

指向函數的指針變量不是固定指向哪一個函數的,而只是表示定義了一個這樣類型的變量,它是專門用來存放函數的入口地址的;在程序中把哪一個函數的地址賦給它,它就指向哪一個函數。
在給函數指針變量賦值時,只需給出函數名,而不必給出參數。
如函數max的原型為:int max(int x, int y); 指針p的定義為:int (*p)(int a, int b); 則p = max;的作用是將函數max的入口地址賦給指針變量p。這時,p就是指向函數max的指針變量,也就是p和max都指向函數的開頭。
在一個程序中,指針變量p可以先后指向不同的函數,但一個函數不能賦給一個不一致的函數指針(即不能讓一個函數指針指向與其類型不一致的函數)。
如有如下的函數:

int fn1(int x, int y); int fn2(int x);

定義如下的函數指針:

int (*p1)(int a, int b); int (*p2)(int a);


p1 = fn1; //正確p2 = fn2; //正確p1 = fn2; //產生編譯錯誤

定義了一個函數指針并讓它指向了一個函數后,對函數的調用可以通過函數名調用,也可以通過函數指針調用(即用指向函數的指針變量調用)。
如語句:c = (*p)(a, b); //表示調用由p指向的函數(max),實參為a,b,函數調用結束后得到的函數值賦給c。
函數指針只能指向函數的入口處,而不可能指向函數中間的某一條指令。不能用*(p+1)來表示函數的下一條指令。
函數指針變量常用的用途之一是把指針作為參數傳遞到其他函數。

函數指針使用舉例
說明看代碼注釋就可以

#include <iostream>using namespace std;class test{public:  test()  {    cout<<"constructor"<<endl;  }  int fun1(int a, char c)  {    cout<<"this is fun1 call:"<<a<<" "<<c<<endl;    return a;  }  void fun2(double d)const  {    cout<<"this is fun2 call:"<<d<<endl;  }  static double fun3(char buf[])  {    cout<<"this is fun3 call:"<<buf<<endl;    return 3.14;  }};int main(){  // 類的靜態成員函數指針和c的指針的用法相同  double (*pstatic)(char buf[]) = NULL;//不需要加類名  pstatic = test::fun3; //可以不加取地址符號  pstatic("myclaa");  pstatic = &test::fun3;  (*pstatic)("xyz");  //普通成員函數  int (test::*pfun)(int, char) = NULL; //一定要加類名  pfun = &test::fun1; //一定要加取地址符號  test mytest;  (mytest.*pfun)(1, 'a'); //調用是一定要加類的對象名和*符號  //const 函數(基本普通成員函數相同)  void (test::*pconst)(double)const = NULL; //一定要加const  pconst = &test::fun2;  test mytest2;  (mytest2.*pconst)(3.33);//  //構造函數或者析構函數的指針,貌似不可以,不知道c++標準有沒有規定不能有指向這兩者的函數指針//  (test::*pcon)() = NULL;//  pcon = &test.test;//  test mytest3;//  (mytest3.*pcon)();  return 0;}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久精品一偷一偷国产| 欧美亚洲国产另类| 欧美日韩在线另类| 国产成人免费av电影| 欧美一级视频一区二区| 亚洲福利影片在线| 久久综合色88| 美女精品视频一区| 亚洲最大福利网| 国产精品盗摄久久久| 亚洲女同性videos| 国产综合在线观看视频| 亚洲人成电影网站| 中文精品99久久国产香蕉| 久久久久亚洲精品成人网小说| 91精品国产综合久久久久久蜜臀| 国产69精品99久久久久久宅男| 久精品免费视频| 久久久久久久国产精品视频| 97色在线视频| 国产成人精品综合久久久| 97国产精品人人爽人人做| 国产精品自产拍在线观| 91国内揄拍国内精品对白| 中文字幕亚洲欧美日韩2019| 欧美激情一区二区三级高清视频| 国产成人a亚洲精品| 欧美激情视频在线免费观看 欧美视频免费一| 不卡av电影院| 国产一区红桃视频| 另类视频在线观看| 最近免费中文字幕视频2019| 日韩a**站在线观看| 成人午夜一级二级三级| 最新亚洲国产精品| 亚洲福利在线观看| 国产精品热视频| 久久国产精品免费视频| 在线免费观看羞羞视频一区二区| 亚洲视频在线播放| 97免费中文视频在线观看| 九色精品免费永久在线| 亚洲精品自产拍| 亚洲国产高清福利视频| 中文字幕日韩av电影| 久久久久久久久网站| 亚洲黄色www网站| 91精品久久久久久久久| 精品一区电影国产| www.欧美精品| 91av视频在线播放| 欧美一级大片视频| 26uuu另类亚洲欧美日本老年| 欧美电影免费观看电视剧大全| 国产欧美日韩专区发布| 91产国在线观看动作片喷水| 国内自拍欧美激情| 久久精品91久久香蕉加勒比| 精品久久久久国产| 精品一区二区三区四区在线| 2019精品视频| 国产一区二区三区久久精品| 欧美日韩精品国产| 亚洲系列中文字幕| 国产一区二区动漫| 国产大片精品免费永久看nba| 高清欧美性猛交xxxx| 国产有码一区二区| 91精品久久久久久久久青青| 国产日韩在线看片| 成人美女免费网站视频| 国语自产精品视频在免费| 日韩欧美主播在线| 日韩麻豆第一页| 在线播放日韩av| 国产精品视频在线观看| 亚洲欧美在线看| 欧亚精品中文字幕| 久久久女女女女999久久| 欧美丝袜一区二区三区| 国产一区二区久久精品| 日本电影亚洲天堂| 亚洲理论电影网| 精品成人在线视频| 欧美色图在线视频| 亚洲午夜精品久久久久久性色| 亚洲最大福利视频| 欧美国产日韩中文字幕在线| 欧美在线视频导航| 一区二区三区日韩在线| 国产原创欧美精品| 国产成人精品电影| 欧美精品福利视频| www国产精品com| 日韩美女毛茸茸| 疯狂做受xxxx欧美肥白少妇| 国产欧美韩国高清| 高清在线视频日韩欧美| 国产亚洲精品成人av久久ww| 日韩亚洲成人av在线| 欧美视频在线观看 亚洲欧| 国产黑人绿帽在线第一区| 欧美成人h版在线观看| 国产精品一区二区三区久久| 欧美高清理论片| 亚洲福利在线观看| 亚洲精品一区久久久久久| 亚洲电影免费观看高清完整版在线| 国产精品免费久久久| 欧美激情精品久久久久久黑人| 国产成人自拍视频在线观看| 色综合久综合久久综合久鬼88| 国产亚洲精品日韩| 一区二区成人av| 国产最新精品视频| 日韩免费观看高清| 国产精品欧美一区二区| 日本免费久久高清视频| 日韩国产在线播放| 国产精品国产自产拍高清av水多| 国产精品国产三级国产aⅴ浪潮| 亚洲va久久久噜噜噜久久天堂| 欧美亚洲国产精品| 91亚洲国产成人精品性色| xxxxx成人.com| 欧美韩日一区二区| 欧美国产中文字幕| 色哟哟入口国产精品| 中文字幕欧美精品日韩中文字幕| 91成人在线观看国产| 久久99久久99精品免观看粉嫩| 欧美视频不卡中文| 久久99热精品这里久久精品| 狠狠躁夜夜躁人人爽天天天天97| 成人精品一区二区三区电影黑人| 性色av一区二区三区在线观看| 国产亚洲精品美女久久久久| 亚洲欧美国产精品专区久久| 国产91免费看片| 欧美日韩中文字幕日韩欧美| 亚洲在线第一页| 亚洲一区二区国产| 精品高清一区二区三区| 永久555www成人免费| 欧美在线一级视频| 国产欧美最新羞羞视频在线观看| 欧美一级黄色网| 韩剧1988在线观看免费完整版| 欧美成人高清视频| 日韩中文在线中文网三级| 疯狂做受xxxx欧美肥白少妇| 欧美日韩久久久久| 欧美午夜激情在线| 久久99精品视频一区97| 欧美成人网在线| 国产精品久久久久久久一区探花| 亚洲欧美一区二区三区久久| 亚洲天堂免费在线| 欧美在线激情视频| 国产精品网站大全| 欧美大片在线看| 久久精品国产久精国产一老狼| 欧美一区深夜视频| 亚洲欧美日韩天堂一区二区|