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

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

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

2020-05-23 14:05:26
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了C++函數指針的學習教程,講到了函數指針的定義及把指針作為函數參數進行傳遞的用法,需要的朋友可以參考下
 

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

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

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
欧美激情极品视频| 精品久久久久久久久久久久久久| 成人国内精品久久久久一区| 4438全国亚洲精品在线观看视频| 亚洲国产天堂久久国产91| 欧美黑人巨大精品一区二区| 尤物tv国产一区| 亚洲伊人成综合成人网| 欧美激情xxxx| 亚洲3p在线观看| 亚洲人线精品午夜| 国产亚洲精品va在线观看| 日韩av在线免播放器| 大伊人狠狠躁夜夜躁av一区| 一本大道香蕉久在线播放29| 日本a级片电影一区二区| 91精品国产色综合久久不卡98口| 色999日韩欧美国产| 国产精品成人av性教育| 欧美电影在线免费观看网站| 亚洲一区二区精品| 成人欧美一区二区三区在线湿哒哒| 精品二区三区线观看| 国产精品美女免费视频| 91高潮精品免费porn| 性欧美视频videos6一9| 国产一区二区三区在线观看视频| 91sao在线观看国产| 国产精品一区二区三区毛片淫片| 久久久久久国产精品| 国模精品视频一区二区| 麻豆国产精品va在线观看不卡| 欧美孕妇孕交黑巨大网站| 久久6免费高清热精品| 亚洲天堂网站在线观看视频| 亚洲无限乱码一二三四麻| 欧美成人手机在线| 97色在线观看免费视频| 亚洲电影免费观看高清完整版在线观看| 91tv亚洲精品香蕉国产一区7ujn| 国产精品a久久久久久| 久久av红桃一区二区小说| 91久久久久久久久久久| 亚洲精品丝袜日韩| 国产精品av电影| 亚洲精品91美女久久久久久久| 伊人久久综合97精品| 国产99久久久欧美黑人| 免费成人高清视频| 欧美日韩国产123| 亚洲国产精品成人av| 欧美日在线观看| 成人欧美一区二区三区黑人| 久久久久久久久久久人体| 狠狠躁夜夜躁人人躁婷婷91| 日韩成人av在线| 欧美日韩国产精品一区二区三区四区| 国产盗摄xxxx视频xxx69| 亚洲va码欧洲m码| 欧美精品在线免费| 日本不卡视频在线播放| 久久精品电影网站| 欧洲午夜精品久久久| xxxxxxxxx欧美| 国产精品99久久99久久久二8| 国产精品免费观看在线| 国产精品久久久久久久久免费| 欧美日韩国产黄| 亚洲xxxx做受欧美| 7777免费精品视频| 伊人激情综合网| 91九色国产社区在线观看| 51久久精品夜色国产麻豆| 国产精品久久久久国产a级| 78m国产成人精品视频| 91成人国产在线观看| 亚洲激情自拍图| 97精品国产97久久久久久| 欧美精品久久久久久久久| 欧美性做爰毛片| 97国产精品视频| 欧美日韩福利在线观看| 成人精品网站在线观看| 91欧美精品成人综合在线观看| 中文字幕精品一区久久久久| 欧美成人午夜影院| 日韩av片免费在线观看| 亚洲欧洲视频在线| 亚洲精品不卡在线| 成人伊人精品色xxxx视频| 亚洲免费高清视频| 亚洲社区在线观看| 国产精品扒开腿做爽爽爽的视频| 亚洲www视频| 国产精品xxx视频| 欧美视频中文字幕在线| 欧美激情精品久久久久久久变态| 欧美日韩在线视频一区二区| 日韩精品中文在线观看| 欧美自拍视频在线观看| 美女国内精品自产拍在线播放| 精品视频在线导航| 97激碰免费视频| 久久久久国产精品www| 亚洲电影免费观看高清完整版在线观看| 亚洲精品资源在线| 北条麻妃一区二区在线观看| 国产午夜精品一区理论片飘花| 亚洲天堂精品在线| 欧美性色视频在线| 欧美日韩国产精品一区| 成人精品视频99在线观看免费| 成人免费高清完整版在线观看| 精品性高朝久久久久久久| 国产精品高潮在线| 超碰91人人草人人干| 久久福利网址导航| 久久亚洲精品一区| 一区二区欧美日韩视频| 久久综合电影一区| 国产成人精品a视频一区www| 欧美精品18videosex性欧美| 欧美视频专区一二在线观看| 国产精品成熟老女人| 热re99久久精品国产66热| 国产精品小说在线| 日韩av免费观影| 国产精品美女主播在线观看纯欲| 欧美亚洲伦理www| 欧洲美女7788成人免费视频| 欧美一区二区色| 在线观看久久av| 欧美一区二区三区图| 国产精品日日做人人爱| 九九精品在线视频| 在线视频亚洲欧美| 日韩美女视频免费看| 日韩有码片在线观看| 国产成人拍精品视频午夜网站| 亚洲国产精品国自产拍av秋霞| 亚洲午夜色婷婷在线| 中国日韩欧美久久久久久久久| 97国产精品视频人人做人人爱| 色偷偷综合社区| 亚洲综合第一页| 久久精视频免费在线久久完整在线看| 成人免费激情视频| 国产偷国产偷亚洲清高网站| 欧美一级片久久久久久久| 久操成人在线视频| 欧美日韩免费网站| 欧美激情在线一区| 日韩成人激情在线| 日韩中文字幕在线看| 九九久久久久久久久激情| 日本一本a高清免费不卡| 色先锋久久影院av| 91精品久久久久久久久中文字幕| 欧美日韩国产成人在线观看| 亚洲欧美一区二区三区四区| 91精品免费久久久久久久久| 成人精品在线观看| 精品日韩视频在线观看| 麻豆成人在线看|