麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > C > 正文

指向類成員函數的指針其實并非指針

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

1、與常規指針不同,一個指向成員的指針并不指向一個具體的內存位置,它指向的是一個類的特定成員,而不是指向特定對象里的特定成員。通常最清晰的做法,是將指向數據成員的指針看作為一個偏移量。

這個偏移量告訴你,一個特定成員的位置距離對象的起點有多少個字節。

2、給定一個成員在類內的偏移量,為了訪問位于那個偏移量的數據成員,我們需要該類的一個對象的地址。這時候就需要 .*和->*的操作。pC->*pimC,請求將pC內的地址加上pimC內的偏移量,為的是訪問pC所指向的C對象中適當的數據成員。aC.*pimC,請求aC的地址加上pimC中的偏離量,也是為了訪問pC所指向的C對象中適當的數據成員。
Ps:
*成員指針解引用操作符(.*)從對象或引用獲取成員
*成員指針箭頭操作符(->*)通過對象的指針獲取成員

3、獲取非靜態成員函數的地址時,得到的不是一個地址,而是一個指向成員函數的指針。

4、為了對一個指向成員函數的指針進行解引用,需要一個對象或一個指向對象的指針。對于指向數據成員的指針的情形,為了訪問該成員,需要將對象的地址和成員的偏移量相加。對于指向成員函數的指針的情形,需要將對象的地址用作this指針的值,進行函數調用,以及作為其他用途。

5、一個指向成員函數的指針的實現自身必須存儲一些信息,諸如它所指向的成員函數是虛擬的還是非虛擬的,到哪里支找到的適當的虛函數表指針等等。

6、另外補充一點關于指向內聯函數的指針的問題。一個函數指針指向內聯函數是合法的。然而,通過函數指針調用內聯函數將不會導致內聯式的函數調用,因為編譯器無法在編譯期精確地確定將會調用什么函數。因此在調用點,編譯器別無他法,只好生成間接、非內聯的函數調用代碼。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 高清av免费 | 久久精品99久久久久久2456 | 一级国产航空美女毛片内谢 | 午夜视频观看 | 欧美成人福利 | 欧美黄色性生活视频 | 国产精品免费一区二区三区四区 | 毛片视频网址 | 亚洲第一成网站 | 久久久久久久国产视频 | 久久一区二区三区av | 欧美日韩经典在线 | 黄色片免费看看 | 久久亚洲春色中文字幕久久 | 成人一区二区三区在线 | 中文字幕国产日韩 | 日本在线视频免费 | 久久久久.com | 竹内纱里奈和大战黑人 | 黄污免费网站 | 免费一级a毛片免费观看 | 欧美一级成人 | 天天草天天爱 | 成av在线| 在线成人免费网站 | 国产精品av久久久久久久久久 | 亚洲第一综合 | 欧美综合在线观看视频 | 成人一级视频在线观看 | 毛片网站视频 | 激情视频导航 | 午夜视频在线观看91 | 色污视频 | av成人在线电影 | 九九热视频免费在线观看 | 成人在线观看免费爱爱 | 国产成人在线观看免费网站 | 久久久久久久午夜 | 黄视频网站免费在线观看 | 91精品国产综合久久婷婷香 | 全黄性性激高免费视频 |