亚洲一级电影在线观看,九九精品无码专区免费,亚洲AV无码资源在线观看 ,欧美国产高清

C++面試常用問題:"引用"與指針的區別

時間:2020-11-20 17:57:06 筆試題目 我要投稿

C++面試常用問題:"引用"與指針的區別

  指針通過某個指針變量指向一個對象后,對它所指向的變量間接操作。

C++面試常用問題:"引用"與指針的區別

  程序中使用指針,程序的可讀性差;而引用本身就是目標變量的別名,對引用的操作就是對目標變量的操作。此外,就是對函數傳ref和pointer的區別。

  拓展閱讀:

  引用:

  (1)&在此不是求地址運算,而是起標識作用。

  (2)類型標識符是指目標變量的類型。

  (3)聲明引用時,必須同時對其進行初始化。

  (4)引用聲明完畢后,相當于目標變量名有兩個名稱,即該目標原名稱和引用名,且不能再把該引用名作為其他變量名的別名。

  int a=2,int &ra=a;

  a為目標原名稱,ra為目標引用名。給ra賦值:ra=1; 等價于 a=1;

  (5)對引用求地址,就是對目標變量求地址。&ra與&a相等。即我們常說引用名是目標變量名的一個別名。別名一詞好像是說引用不占據任何內存空間。但是編譯器在一般將其實現為const指針,即指向位置不可變的指針。即引用實際上與一般指針同樣占用內存。

  (6)不能建立引用的數組。因為數組是一個由若干個元素所組成的集合,所以無法建立一個由引用組成的'集合。但是可以建立數組的引用.

  例如: int& ref [3]= {2,3,5};//聲明ref引用的數組錯誤

  但是可以這樣寫:

  const int (&ref)[3] ={2,3,5}; //gcc編譯的時候加上選項 -std=c++0x

  ref[0] = 35; //錯誤

  為什么要加上const ,因為{2,3,5}此時是個字面值數組,是保存在代碼段里,只讀的屬性,如果不加,編譯錯誤,而且后面對ref[0]的賦值也不會成功.

  需要特別強調的是引用并不產生對象的副本,僅僅是對象的同義詞。因此,當下面的語句執行后:

  pt1.offset(12,12);

  pt1和pt2都具有(12,12)的值。

  引用必須在定義時馬上被初始化,因為它必須是某個東西的同義詞。你不能先定義一個引用后才

  初始化它。例如下面語句是非法的:

  Point &pt3;

  pt3=pt1;

  那么既然引用只是某個東西的同義詞,它有什么用途呢?

  下面討論引用的兩個主要用途:作為函數參數以及從函數中返回左值。

  指針:

  C++標準中規定,“指針”概念不適用于成員指針(不包含指向靜態成員的指針)。

  C++標準規定,指針分為兩類:

  object pointer type:指向void或對象類型,表示對象在內存中的字節地址或空指針。

  function pointer type:指代一個函數

【C++面試常用問題:"引用"與指針的區別】相關文章:

簡述數組與指針的區別12-13

c語言指針面試常見問題09-28

C++筆試題:關于鏈表和指針11-22

筆試與面試的區別09-02

面試常用英語問題09-28

英語面試常用問題09-10

俄語常用的面試問題12-11

HR面試常用的英語問題09-09

常用面試題目空指針到底是什么12-13

主站蜘蛛池模板: 石嘴山市| 国产乱子伦60女人的皮视频| 韩国无码av片在线观看| 亚洲人成网网址在线看| 欧美成人免费一区二区三区视频| 久久国产精品免费一区| 亚洲字幕av一区二区三区四区| 柳林县| P尤物久久99国产综合精品| 国产精品ⅴ无码大片在线看| 国产精品任我爽爆在线播放6080| 久久精品成人一区二区三区| 色综合 图片区 小说区| 97免费人妻在线视频| 黑人玩弄人妻中文在线| 河南省| 怡红院美国分院一区二区| 丰满人妻一区二区三区视频53| 亚洲色大成网站www永久麻豆| 无码人妻aⅴ一区二区三区日本| 亚洲一区无码中文字幕乱码| 久久综合香蕉国产蜜臀av| 汕头市| 熟女性饥渴一区二区三区| 国产免费一区二区三区vr| 乱中年女人伦av二区| 成安县| 国产亚洲欧美日韩在线一区| 日本久久久www成人免费毛片丨| 伊人久久综合成人网| 亚洲精品亚洲人成在线观看| 久久久噜噜噜www成人网| 久久a级片| 日韩欧无码一区二区三区免费不卡 | 成年午夜性影院| 一区二区三区日本久久九| 久久国产亚洲偷自| 中文字幕亚洲制服在线看 | 好吊妞视频这里有精品| 狠狠色丁香久久婷婷综合五月| 日日碰狠狠添天天爽|