精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

C++中的指針用法總結(jié)

開發(fā) 后端
在C++中,指針用得比較多,對于里面眾多的指針用法,不免讓人有些糊涂。本文總結(jié)了C++中的指針用法,現(xiàn)把內(nèi)容展現(xiàn)給大家,希望對大家有所幫助。

   C++程序設(shè)計(jì)重要基礎(chǔ)就是類和對象,對象指針是很重要的一部分,包括指向?qū)ο蟮?strong>指針、指向?qū)ο蟪蓡T的指針、this指針、指向?qū)ο蟮某V羔槨⒅赶虺ο蟮闹羔樀取?/p>

  1、指向?qū)ο蟮闹羔?/strong>

  定義:對象空間的起始地址就是對象的指針。

  說明:在建立對象時(shí),編譯系統(tǒng)就為每個(gè)對象分配一定的存儲空間以存放其成員,不過注意,在一般情況下不同對象的數(shù)據(jù)存儲單元中存放的數(shù)據(jù)成員是不相同,而不同對象的函數(shù)代碼卻是相同的,也就是說,它們的函數(shù)代碼是共享的。這時(shí)我們可以定義一個(gè)指針變量用來存放對象的指針。

  定義指向類對象的指針變量的一般形式是:

  類名 *對象指針名;

  如對于與個(gè)Time類對象,我們可以有:

  1. Time t;  
  2. Time *p;  
  3. p=&t;   

  我們就可以通過對象指針訪問對象和對象的成員,假如所定義的類中有數(shù)據(jù)成員hour、minute、sec,成員函數(shù)有g(shù)ettime(),則

  (*p).hour 即為p指向?qū)ο笾械膆our成員,相當(dāng)于t.hour

  (*p).gettime() 即為p指向?qū)ο笾械某蓡T函數(shù)gettime(),相當(dāng)于t.gettime()

  也可以用如下形式:

  p->hour 和 p->gettime()和上面是等價(jià)的。

  2、指向?qū)ο蟪蓡T的指針

  (1)指向?qū)ο髷?shù)據(jù)成員的指針

  在C中我們學(xué)過指向普通變量的指針變量,在C++中定義指向?qū)ο髷?shù)據(jù)成員的指針變量的方法和定義指向普通變量的指針變量方法相同,其一般形式為:

  數(shù)據(jù)類型名 *指針變量名;

  如:

  1. int *p;  
  2. p=&t.hour; //將對象t的數(shù)據(jù)成員hour的地址賦給p,p指向t.hour  

  (2)指向?qū)ο蟪蓡T函數(shù)的指針

  定義指向?qū)ο蟪蓡T函數(shù)的指針變量和定義指向普通函數(shù)的指針變量不同。

  在定義指向普通函數(shù)的指針變量時(shí)我們可以這樣定義:

  1. void (*p)();  
  2. p=fun;  
  3. (*p)();   //調(diào)用fun函數(shù) 

  然而編譯系統(tǒng)要求在將函數(shù)地址賦給指針變量時(shí)必須滿足三個(gè)條件:

  函數(shù)參數(shù)類型及個(gè)數(shù)要匹配

  函數(shù)返回值的類型要匹配

  所屬的類要匹配

  顯然在上面的p與類是無關(guān)的。為了滿足第三條,我們可以為指針指定類,故定義指向?qū)ο蟪蓡T函數(shù)的指針變量一般形式為:

  數(shù)據(jù)類型(類名::*指針變量名)(參數(shù)表列);

  可以讓指針指向公用的成員函數(shù),如:

  1. void (Time::*p)();  //定義指向Time類對象成員函數(shù)的指針變量p  
  2. p=&Time::gettime;   //把Time類的公用成員函數(shù)gettime()地址賦給指針變量p  
  3. (t.*p)();           //調(diào)用Time類對象t的成員函數(shù)gettime()  

  注意:因?yàn)槌蓡T函數(shù)不存放在對象空間中,多個(gè)同類對象共享此成員函數(shù)代碼,所以在將成員函數(shù)的入口地址賦給指針變量是應(yīng)寫成:

  指向?qū)ο蟪蓡T函數(shù)的指針變量=&類名::成員函數(shù)名;

  在成員函數(shù)名后面沒有"()",如果寫成p=&Time::gettime()是錯(cuò)誤的。[nextp

  3、this指針

  在每個(gè)成員函數(shù)中都包含了一個(gè)特殊的指針,稱為this,它是指向本類對象的指針,它的值是當(dāng)前被調(diào)用成員函數(shù)所在對象的起始地址。之所以有這個(gè)指針,是因?yàn)闉榱吮WC同類的不同對象的成員函數(shù)引用的是指定對象中的數(shù)據(jù)成員,它是系統(tǒng)自動實(shí)現(xiàn)的。

  如定義一個(gè)求體積的函數(shù)

  1. int box::vol()  
  2. {return(height*width*length);}  

  假如已經(jīng)定義了對象t,當(dāng)調(diào)用成員函數(shù)t.vol()時(shí),編譯系統(tǒng)就把對象t的起始地址賦給this指針,于是在成員函數(shù)引用數(shù)據(jù)成員時(shí),根據(jù)指針this就可以引用到對象t的數(shù)據(jù)成員。所以C++把上面的函數(shù)處理成

  1. int box::vol()  
  2. {return(this->height*this->width*this->length);}  

  由于this的值是當(dāng)前被調(diào)用成員函數(shù)所在對象的起始地址,所以可以寫成

  1. int box::vol()  
  2. {return((*this).height*(*this).width*(*this).length);} 

  所以在調(diào)用成員函數(shù)t.vlo()時(shí),實(shí)際的調(diào)用方式為t.vol(&t),不過對象t的地址傳給this指針是由系統(tǒng)自動完成的,不需人為加上。

  4、指向?qū)ο蟮某V羔?/strong>

  將指向?qū)ο蟮闹羔樧兞柯暶鳛閏onst型且進(jìn)行處始化,這樣指針值始終保持為其初值,不能改變其指向。

  如:

  1. Time t1(8,8,8),t2;  
  2. Time *const p=&t1; //常指針p指向?qū)ο髏1  
  3. p=&t2; //試圖改變p的指向,非法   

  由上面我們可以看出定義指向?qū)ο蟮某V羔樀囊话阈问綖椋?/p>

  類名 *const 指針變量名=對象的起始地址;

  注意:指向?qū)ο蟮某V羔樧兞康闹挡荒芨淖儯梢愿淖兯赶驅(qū)ο笾械臄?shù)據(jù)成員的值。

  常指針一般用作函數(shù)的參數(shù),這樣就不允許在函數(shù)執(zhí)行過程中改變指針變量的值,使其始終保持指向原來的對象。

  5、指向常對象的指針變量

  首先回顧一下指向常變量的指針變量,其一般形式為:

  const 類型名 *指針變量名;

  如:

  1. const char *p; 

  如果一個(gè)變量已經(jīng)被聲明為常變量,那么只能用指向常變量的指針變量去指向它,而不能用一般的指針變量。另外,指向常變量的指針變量除了可以指向常變量外,還可以指向未被聲明為const的變量,但也不能通過該指針改變其值。例如:

  1. char c='a' //定義字符變量c,未聲名為const  
  2. const char *p; //定義指向常變量的指針變量p  
  3. p=&c; //p指向字符變量c  
  4. *p='b'//非法  
  5. c='b'//合法   

  說明:上例中,指針變量p指向字符變量c,并不說把c也聲明成常變量,而只是說在通過指針變量引用c時(shí),c具有常變量的特征,其值是不能改變的,但c仍然是一個(gè)普通變量。

  在指向常變量的指針中,關(guān)于函數(shù)形參的指針類型有幾點(diǎn)值得注意:

  如果函數(shù)形參是非const型指針變量,實(shí)參只能用指向非const型指針;如果函數(shù)形參是指向const型變量的指針,實(shí)參則可以是const型的或非const型的指針變量。換句話說就是指向常變量的指針可以指向const和非const型的變量,而指向非const型變量的指針只能指向非const的變量。

  用指針變量作形參時(shí)形參和實(shí)參的對應(yīng)關(guān)系表:

形參 實(shí)參  合法與否 改變指針?biāo)笇ο蟮闹?/td>
指向非const型變量的指針 非const變量的地址  合法  行
指向非const型變量的指針 const變量的地址  非法  /
指向const型變量的指針 const變量的地址  合法  不行
指向const型變量的指針 非const變量的地址  合法  不行

  下面說到正題,指向常對象的指針變量和指向常變量指針變量類似。

  如果一個(gè)對象已經(jīng)被聲明為長對象,只能用指向常對象的指針變量指向它,而不能用一般的指針變量指向它。

  如果定義了一個(gè)指向常對象的指針變量且使它指向一個(gè)非const的對象,其指向的對象不能通過指針來改變。

  如果定義了一個(gè)指向常對象的指針變量,是不能通過它改變所指向的對象的值的,但是指針變量本身的值是可以改變的。

  如:

  1. Time t1(8,8,8),t2; //定義對象  
  2. const time *p=&t1; //定義指向常對象的指針p,并使它指向t1  
  3. p=&t2; //合法,指針p指向?qū)ο髏2 

  所以當(dāng)我們希望在調(diào)用函數(shù)時(shí)對象的值不被修改,我們就可以把形參定義為const型的指針變量,同時(shí)用對象的地址作實(shí)參(對象可以是const或非const型);當(dāng)要求對象不僅在調(diào)用函數(shù)中不被改變,而且在程序執(zhí)行過程中也不發(fā)生改變,我們就把它定義為const型。所以指向常對象的指針最常用于函數(shù)的參數(shù),以保護(hù)形參指針?biāo)赶虻膶ο笤诤瘮?shù)執(zhí)行過程中不被修改。

  以上是我學(xué)習(xí)C++指針時(shí)的記錄,也是對C++指針用法的總結(jié),希望對大家學(xué)習(xí)C++能有所幫助吧。

【編輯推薦】

  1. 如何成為一名C++程序員
  2. c++編程常用工具
  3. 給C++初學(xué)者的50個(gè)忠告
  4. c++最基礎(chǔ)的20條規(guī)則
  5. 程序員必看 c++筆試題匯總
責(zé)任編輯:韓亞珊 來源: 中國IT實(shí)驗(yàn)室
相關(guān)推薦

2011-04-19 09:19:09

C++指針

2011-04-07 16:34:05

staticC++

2011-04-11 11:09:50

this指針

2011-07-20 10:06:54

CC++const

2024-05-27 00:40:00

C++bitset

2024-12-26 10:45:08

2024-01-09 09:23:12

指針C++

2011-04-11 14:18:37

CC++指針

2021-12-21 15:31:10

C++語言指針

2024-01-25 11:42:00

C++編程指針常量

2015-05-13 10:37:58

C++指針與引用

2010-12-17 10:07:59

2023-12-26 12:13:31

野指針C++編程

2014-01-24 09:49:01

C++指針

2010-02-01 15:18:40

C++ new用法

2024-05-15 16:01:04

C++編程開發(fā)

2011-07-20 17:54:02

C++

2010-01-26 13:42:28

C++指針

2011-07-15 01:38:56

C++this指針

2011-04-13 16:50:54

CC++內(nèi)存
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

欧美视频一区二区三区…| 国产99久久久久久免费看农村| 亚洲欧美变态国产另类| 亚洲天堂av线| 99自拍视频在线观看| 99视频精品在线| 国产精品国产三级国产aⅴ9色| www.av免费| 丝袜美腿综合| 69久久99精品久久久久婷婷| 精品少妇一区二区三区在线| av午夜在线| heyzo一本久久综合| 国产精品偷伦视频免费观看国产 | 免费在线观看毛片网站| www久久日com| 国产肉丝袜一区二区| 不卡视频一区二区三区| 中文av免费观看| av成人激情| 久久久精品影院| 国产小视频自拍| 精品国内亚洲2022精品成人| 在线不卡免费av| 日本www高清视频| 少妇视频在线| 国产精品成人在线观看| 免费电影一区| 蜜桃av鲁一鲁一鲁一鲁俄罗斯的| 蜜桃视频在线观看一区二区| 777777777亚洲妇女| 中文字幕在线有码| 久久理论电影| 国产亚洲a∨片在线观看| 亚洲中文字幕无码一区| 99tv成人影院| 欧美日韩一卡二卡三卡 | 色综合电影网| 四虎影视在线观看2413| 精品一区二区三区在线视频| 国产精品久久久av久久久| 日本在线观看中文字幕| 欧美精品日韩| 成人444kkkk在线观看| xxxxx99| 美女久久久久| 日韩精品欧美国产精品忘忧草| 亚洲最大视频网| 精品一区二区三区在线观看视频| 欧美日韩另类国产亚洲欧美一级| 熟女少妇精品一区二区| 欧美91看片特黄aaaa| 欧美视频一二三| 精品免费国产一区二区| 欧美精品日日操| 日本精品视频一区二区三区| chinese少妇国语对白| 亚洲第一影院| 在线观看免费一区| 欧美大尺度做爰床戏| 日韩一区精品| 欧美亚洲一区二区在线观看| 中文久久久久久| 婷婷久久免费视频| 日韩一区二区三区视频在线观看| 日日夜夜精品视频免费观看| 中文字幕视频精品一区二区三区| 欧美mv日韩mv| 在线免费观看a级片| 亚洲欧洲免费| 中文欧美在线视频| 91免费公开视频| 欧美精品导航| 18久久久久久| 久久久999久久久| 国产在线乱码一区二区三区| 成人三级在线| 欧美精品少妇| 自拍偷拍亚洲综合| 久草视频这里只有精品| 中文在线а√天堂| 欧美日韩的一区二区| 免费黄视频在线观看| 乱亲女h秽乱长久久久| 亚洲欧洲日韩国产| 国产精品99久久久久久成人| 欧美日韩蜜桃| 国产精品高清在线观看| 国内精品国产成人国产三级| 久久综合色婷婷| 一本一生久久a久久精品综合蜜 | 亚洲蜜桃精久久久久久久| 国产欧美久久久久| 午夜欧美巨大性欧美巨大 | 日本人妻丰满熟妇久久久久久| 91麻豆6部合集magnet| 新呦u视频一区二区| 伊人在我在线看导航| 欧美三级免费观看| 亚洲一二三不卡| 四虎884aa成人精品最新| 色偷偷噜噜噜亚洲男人| 日本亚洲欧美在线| 精品一区二区日韩| 麻豆亚洲一区| 蜜臀av国内免费精品久久久夜夜| 在线观看一区二区视频| 欧美xxxxx精品| 久久久久久美女精品| 人人爽久久涩噜噜噜网站| 国产激情视频在线播放| 国产精品丝袜在线| 国产亚洲欧美在线视频| 国产精品久久久久久久久久久久久久久| 日韩电影中文 亚洲精品乱码 | 国产精品91av| 欧美成免费一区二区视频| 51午夜精品视频| av在线亚洲天堂| 国产清纯在线一区二区www| 国产精品久久久久久久久电影网| 一二区成人影院电影网| 亚洲精品久久7777777| 国产一区二区播放| 另类综合日韩欧美亚洲| 久久精品综合一区| bbw在线视频| 日韩欧美国产一二三区| 国产极品美女在线| 免费高清视频精品| 欧美日韩在线精品一区二区三区| 黄色污污视频在线观看| 欧美一区二区在线免费播放| 国产精品成人无码免费| 免费在线欧美黄色| 蜜桃传媒一区二区| 国产精品电影| 亚洲国产成人在线播放| 国产精品18p| 粉嫩av亚洲一区二区图片| 国产日韩欧美大片| 国产美女视频一区二区| 久久久极品av| 国产精品无码久久久久成人app| 国产精品视频在线看| 日本成人在线免费视频| 久久综合欧美| 日本精品va在线观看| 日韩三级电影网| 欧美性猛交xxxx免费看| 久久久久久久久久久国产精品| 亚洲欧美视频一区二区三区| 久久婷婷国产综合尤物精品| 久久毛片亚洲| 一区二区三欧美| 一级片aaaa| 亚洲天堂网中文字| 四川一级毛毛片| 在线精品观看| 久久免费一区| 久久91视频| 欧美精品一区二区免费| 免费看日韩av| 色天使色偷偷av一区二区| 国产三级视频网站| 免费看欧美美女黄的网站| 亚洲一区二区高清视频| 精品国产三级| 992tv成人免费视频| 麻豆影视在线| 777a∨成人精品桃花网| 久久久全国免费视频| 91麻豆成人久久精品二区三区| 美女黄色片视频| 亚洲精品电影| 精品日产一区2区三区黄免费| 国模套图日韩精品一区二区| 精品久久久91| 熟妇高潮一区二区高潮| 欧美在线三级电影| 欧美黄色免费观看| 91麻豆视频网站| 国产欧美激情视频| 亚洲国产精品第一区二区三区| 日韩精品久久久| 日韩欧美中文在线观看| 青青草原成人在线视频| 麻豆视频在线观看免费| 亚洲国产精品成人va在线观看| www.av88| 亚洲成人av在线电影| 麻豆视频免费在线播放| 成人免费观看视频| 欧美女同在线观看| 亚洲国产mv| 中文字幕欧美日韩一区二区| 美女av一区| 亚洲一区二区久久久久久久| 涩涩视频在线| 欧美日韩高清在线观看| 丁香在线视频| 亚洲精品美女在线| 99热这里只有精品3| 色天天综合久久久久综合片| 久久久久久天堂| 国产精品欧美精品| 亚洲天堂网一区二区| 国产精品亚洲午夜一区二区三区| 欧美精品第三页| 亚洲毛片播放| 欧美人与动牲交xxxxbbbb| 精品一级毛片| 久久久久资源| 国产图片一区| 亚洲自拍中文字幕| 久久久免费人体| 国产成人福利视频| 免费高潮视频95在线观看网站| 久久精品视频导航| av在线免费一区| 亚洲日本中文字幕免费在线不卡| 亚洲精品一区二区口爆| 337p亚洲精品色噜噜狠狠| 免费无码国产精品| 欧美午夜精品久久久久久久| 久久在线视频精品| 亚洲黄一区二区三区| 性生交大片免费全黄| 欧美激情综合在线| 国产肥白大熟妇bbbb视频| 91麻豆123| 瑟瑟视频在线观看| 久久色视频免费观看| 中文字幕一区三区久久女搜查官| 国产成人av电影| 97超碰人人看| 国产高清亚洲一区| 伦伦影院午夜理论片| 国产乱子伦视频一区二区三区| 成人av毛片在线观看| 精品一区二区免费| 中文字幕成人在线视频| 蜜臀久久99精品久久久久宅男| 不卡av免费在线| 男女视频一区二区| 婷婷六月天在线| 另类小说欧美激情| 欧美wwwwwww| 国产一区二区三区免费在线观看| 中文字幕1234区| 国产综合久久久久影院| 日韩av影视大全| 国产999精品久久久久久绿帽| 国产九九九视频| 国产精品综合av一区二区国产馆| 亚洲妇女无套内射精| 成人亚洲一区二区一| 国产精品成人99一区无码| 北岛玲一区二区三区四区| 国产精品久久久免费观看| 久久免费的精品国产v∧| 亚洲av成人无码久久精品| 国产精品国产三级国产普通话三级 | 欧美美女被草| 亚洲精品免费在线视频| 中文字幕日韩在线| 九9re精品视频在线观看re6| 免费电影一区二区三区| 亚洲电影一二三区| 91精品一区国产高清在线gif | 丁香花五月婷婷| 国产精品久久久久三级| 国产性一乱一性一伧一色| 精品毛片三在线观看| 国产女主播喷水视频在线观看 | 在线观看国产一级片| 国产精品一二三四| 在线观看国产免费视频| 欧美国产精品劲爆| 久久高清内射无套| 五月婷婷综合在线| 一级片一区二区三区| 日韩精品一区二区三区在线播放 | 尤物tv国产一区| 成人影院在线看| 18久久久久久| 亚洲精品777| 久久久久久国产精品一区| 成人激情诱惑| 无码熟妇人妻av在线电影| 可以看av的网站久久看| 91大神免费观看| 久久―日本道色综合久久| 精品国产视频一区二区三区| 亚洲国产视频网站| 国产免费www| 欧美大片免费久久精品三p| 人成在线免费视频| 欧美精品手机在线| 日韩漫画puputoon| 精品日本一区二区| 一二三区不卡| 日本黄网站免费| 成人精品视频一区二区三区 | 欧美日韩高清在线播放| 成人免费一级视频| 中文字幕精品一区久久久久| 国产精品69xx| 91丨九色丨国产在线| 欧美美乳视频| 男人日女人逼逼| 国产精品一区二区无线| 欧美午夜激情影院| 午夜精品一区二区三区免费视频 | 精品少妇一区二区三区在线视频| 国产福利电影在线| 77777少妇光屁股久久一区| 欧美午夜网站| 一区二区三区在线观看www| 免费永久网站黄欧美| 精品1卡二卡三卡四卡老狼| 国产精品久久综合| 中文字幕在线2018| 亚洲精品一区二区三区婷婷月| 丝袜在线观看| 91精品视频在线播放| 不卡视频在线| www日韩在线观看| 99精品国产91久久久久久| 国产亚洲精品久久久久久无几年桃| 欧美日韩精品欧美日韩精品一 | 国模精品视频一区二区| 亚洲精品一区二区在线播放∴| 日本不卡免费新一二三区| 亚洲永久免费精品| 国产毛片毛片毛片毛片毛片毛片| 一区二区国产视频| 国产肥老妇视频| 欧美成人免费全部观看天天性色| 福利一区视频| 亚洲视频sss| 久久99精品久久久久久久久久久久| 蜜桃av乱码一区二区三区| 91久久国产综合久久| 黄色影院在线播放| 国产成人一区二区三区电影| 蜜乳av综合| av丝袜天堂网| 国产蜜臀97一区二区三区| 成人免费一区二区三区| 在线日韩欧美视频| 成人国产激情在线| 制服诱惑一区| 国产麻豆精品95视频| 久草资源在线视频| 亚洲精品久久久久久久久| 小早川怜子影音先锋在线观看| 欧美亚洲爱爱另类综合| 日韩国产精品久久久| 手机av在线不卡| 91精品在线一区二区| 色爱综合区网| 国产日韩欧美一区二区| 香蕉av777xxx色综合一区| 精品人妻一区二区三区蜜桃视频| 欧美性猛交xxxxxxxx| а√天堂8资源在线官网| 国产福利不卡| 久久一区激情| 黄色片子在线观看| 精品免费日韩av| 欧美色网一区| av电影一区二区三区| 不卡的av中国片| 成年人视频免费| 久久精品亚洲一区| 欧美日韩精品一区二区三区在线观看| 成人小视频在线看| 中文字幕一区二区三区在线不卡| 国内老熟妇对白xxxxhd| 91精品国产色综合久久不卡98| 国产成人精品三级高清久久91| 毛片毛片毛片毛| 激情懂色av一区av二区av| 尤物网址在线观看| 国产高清自拍一区| 日韩电影免费在线| 免费视频一二三区| 亚洲性夜色噜噜噜7777| 日韩在线视频一区二区三区| 欧美日韩亚洲一| 一区二区三区在线视频免费观看| 污视频网站在线播放| 成人久久久久久| 性伦欧美刺激片在线观看| 色欲人妻综合网| 亚洲香蕉成视频在线观看 | 亚洲精品在线观| 日韩欧美2区| 91猫先生在线|