青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

woaidongmao

文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
數據加載中……

C++引用與指針比較

一、比較一

引用是C++中的概念,初學者容易把引用和指針混淆一起。
一下程序中,n是m的一個引用(reference),m是被引用物(referent)。
int m;
int &n = m;
n相當于m的別名(綽號),對n的任何操作就是對m的操作。
所以n既不是m的拷貝,也不是指向m的指針,其實n就是m它自己。

引用的規則:

(1)引用被創建的同時必須被初始化(指針則可以在任何時候被初始化)。
(2)不能有NULL引用,引用必須與合法的存儲單元關聯(指針則可以是NULL)。
(3)一旦引用被初始化,就不能改變引用的關系(指針則可以隨時改變所指的對象)。

以下示例程序中,k被初始化為i的引用。
語句k = j并不能將k修改成為j的引用,只是把k的值改變成為6。
由于k是i的引用,所以i的值也變成了6。
int i = 5;
int j = 6;
int &k = i;
k = j; // k和i的值都變成了6;

引用的主要功能是傳遞函數的參數和返回值。

C++語言中,函數的參數和返回值的傳遞方式有三種:值傳遞、指針傳遞和引用傳遞。

以下是"值傳遞"的示例程序。

由于Func1函數體內的x是外部變量n的一份拷貝,改變x的值不會影響n, 所以n的值仍然是0。
void Func1(int x)
{
x = x + 10;
}
...
int n = 0;
Func1(n);
cout << "n = " << n << endl; // n = 0

以下是"指針傳遞"的示例程序。

由于Func2函數體內的x是指向外部變量n的指針,改變該指針的內容將導致n的值改變,所以n的值成為10。
void Func2(int *x)
{
(* x) = (* x) + 10;
}
...
int n = 0;
Func2(&n);
cout << "n = " << n << endl; // n = 10

以下是"引用傳遞"的示例程序。

由于Func3函數體內的x是外部變量n的引用,x和n是同一個東西,改變x等于改變n,所以n的值成為10。
void Func3(int &x)
{
x = x + 10;
}
...
int n = 0;
Func3(n);
cout << "n = " << n << endl; // n = 10

對比上述三個示例程序,會發現"引用傳遞"的性質象"指針傳遞",而書寫方式象"值傳遞"。

實際上"引用"可以做的任何事情"指針"也都能夠做,為什么還要"引用"這東西?
答案是"用適當的工具做恰如其分的工作"。

指針能夠毫無約束地操作內存中的任何東西,盡管指針功能強大,但是非常危險。

如果的確只需要借用一下某個對象的"別名",那么就用"引用",而不要用"指針",以免發生意外。

 

引用就是傳遞的原始變量,指針傳遞的是變量的地址,兩者沒什么關系,

引用主要用于函數參數的傳遞,相對于傳值,可以節省內存空間,
指針可以直接傳遞變量地址,也可以可以節省內存空間,但是指針功能強大一些,可以在自由操作數組變量。

二、比較二

(1)非空區別。在任何情況下都不能使用指向空值的引用。一個引用必須總是指向某些對象。因此如果你使用一個變量并讓他指向一個對象,但是該變量在某些時候也可能不指向任何對象,這是你應該把變量聲明為指針,因為這樣你可以賦予空值給該變量。相反,如果變量肯定指向一個對象,例如你的設計不允許變量為空,這時你就可以把變量聲明為引用。不存在指向空值得引用這個事實意味著使用引用的代碼效率比使用指針要高。

(2)合法性區別。在使用引用之前不需要測試它的合法性。相反,指針則應該總是被測試,防止其為空。

(3)可修改區別。指針與引用的另一個重要的不同是指針可以被重新賦值以指向另一個不同的對象。但是引用則是總是指向在初始化時被指定的對象,以后不能改變,但是指定的對象其內容可以改變。

(4)應用區別。總的來說,在以下情況下你應該使用指針:一是你考慮到存在不指向任何對象對象的可能(在這種情況下,你能夠設置指針為空),二是你需要能夠在不同的時刻指向不同的對象(在這種情況下,你能改變指針的指向)。如果總是指向一個對象并且一旦指向一個對象后就不會改變指向,那么你應該使用引用。

posted on 2009-09-02 21:59 肥仔 閱讀(298) 評論(0)  編輯 收藏 引用 所屬分類: C++ 基礎

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            99re热这里只有精品免费视频| aa国产精品| 国产欧美精品日韩精品| 亚洲黄一区二区| 久久国产精品亚洲77777| 亚洲狼人综合| 另类专区欧美制服同性| 国产一区二区成人久久免费影院| 9人人澡人人爽人人精品| 免费试看一区| 欧美在线视屏| 国产在线视频欧美一区二区三区| 亚洲欧美国产毛片在线| 亚洲精品日产精品乱码不卡| 另类激情亚洲| 亚洲国产精品99久久久久久久久| 久久影院午夜片一区| 亚洲欧美精品| 国产视频在线观看一区| 久久精品亚洲精品国产欧美kt∨| 欧美亚洲网站| 国产一区清纯| 免费国产自线拍一欧美视频| 久久亚洲综合| 亚洲国产成人av好男人在线观看| 国内精品久久久久久久97牛牛| 亚洲欧美在线一区二区| 99国内精品久久| 欧美天堂亚洲电影院在线观看| 99精品福利视频| 亚洲精品少妇| 欧美系列一区| 欧美一区二区在线观看| 欧美一区视频在线| 亚洲第一色在线| 亚洲国产精品一区二区www在线| 久久躁日日躁aaaaxxxx| 亚洲欧洲另类国产综合| 亚洲伦理在线| 国产精品v亚洲精品v日韩精品| 亚洲在线不卡| 欧美一区二区高清| 亚洲黄色一区| 亚洲一区二区不卡免费| 国内外成人免费激情在线视频网站| 欧美1区3d| 欧美日韩一区自拍| 久久久久国产精品午夜一区| 女人香蕉久久**毛片精品| av成人福利| 午夜精品久久久久久久男人的天堂 | 欧美午夜精品一区| 国产日韩欧美综合精品| 亚洲高清在线播放| 国产精品久久看| 嫩草影视亚洲| 国产精品外国| 亚洲精选成人| 亚洲大片av| 亚洲免费视频在线观看| 亚洲毛片视频| 久久99在线观看| 亚洲小说欧美另类婷婷| 久久九九电影| 亚洲欧美日本国产专区一区| 久久亚洲精品一区| 午夜精品福利视频| 欧美成人精精品一区二区频| 久久久国产精品一区二区中文| 欧美高清视频在线| 美女网站久久| 国产欧美一区二区三区另类精品 | 国产日韩欧美电影在线观看| 亚洲经典在线看| 国产亚洲精品久久久久久| 日韩小视频在线观看| 91久久综合| 一区二区三区免费在线观看| 国产精品久久久久av| 亚洲国产欧美一区二区三区久久 | 亚洲自拍偷拍网址| 99精品99久久久久久宅男| 香蕉久久一区二区不卡无毒影院 | 亚洲一区二区三区免费观看| 亚洲肉体裸体xxxx137| 欧美一二三视频| 亚洲欧美日本伦理| 欧美日韩午夜在线| 亚洲欧洲日产国产网站| 亚洲高清在线视频| 久久精品国产99| 久久久久9999亚洲精品| 国产视频在线观看一区| 欧美一级在线亚洲天堂| 欧美一区二区三区免费在线看| 国产精品国产三级国产专播品爱网| 亚洲精品一区二区三区婷婷月| 亚洲精品社区| 欧美日韩极品在线观看一区| 亚洲精品在线免费观看视频| 中日韩美女免费视频网址在线观看| 欧美国产日韩xxxxx| 欧美激情精品久久久久久变态| 亚洲国产成人tv| 欧美mv日韩mv国产网站app| 亚洲激情影视| 国产精品99久久久久久久久久久久 | 香蕉久久夜色精品国产| 欧美一区久久| 尹人成人综合网| 欧美v国产在线一区二区三区| 亚洲成在线观看| 99视频在线精品国自产拍免费观看| 欧美乱在线观看| 一区二区精品在线| 午夜欧美大片免费观看| 国产一区二区在线观看免费| 久久嫩草精品久久久精品一| 亚洲激情欧美| 欧美一区成人| 经典三级久久| 欧美日韩成人在线观看| 亚洲一区二区三区四区五区午夜 | 久久精品中文字幕一区| 国产一区二区三区四区| 久久亚洲国产精品一区二区| 91久久久久久| 欧美亚洲日本一区| 美女免费视频一区| 正在播放亚洲一区| 久久久久久久久久码影片| 亚洲欧美国产制服动漫| 午夜久久99| 久久综合精品国产一区二区三区| 欧美激情视频免费观看| 欧美一级视频精品观看| 欧美日韩国产系列| 亚洲欧美另类中文字幕| 亚洲一区二区三区中文字幕| 国产精品美女久久久久久2018 | 91久久精品一区| 免费视频一区| 美女久久网站| 亚洲一区三区在线观看| 午夜在线一区| 亚洲国产欧美日韩| 亚洲欧美激情四射在线日| 黑人中文字幕一区二区三区| 欧美激情视频网站| 国产婷婷精品| 亚洲美女福利视频网站| 国模大胆一区二区三区| 日韩一级网站| 亚洲第一区中文99精品| 亚洲在线观看视频网站| 亚洲国产女人aaa毛片在线| 一本久久青青| 亚洲精品一区二区三区四区高清| 亚洲一区二区三区精品视频| 亚洲国产精品99久久久久久久久| 亚洲图片在线观看| 亚洲尤物视频在线| 欧美精品自拍偷拍动漫精品| 久久一二三四| 一区精品在线播放| 欧美中文字幕视频| 久久久久国产精品麻豆ai换脸| 欧美视频一区在线| 亚洲亚洲精品在线观看| 香蕉尹人综合在线观看| 国产毛片久久| 久久在线视频在线| 欧美国产日韩精品免费观看| 香蕉免费一区二区三区在线观看 | 久久阴道视频| 在线欧美一区| 欧美巨乳在线观看| 亚洲影视综合| 免费成人在线观看视频| 一区二区三区视频在线看| 欧美日韩国产精品自在自线| 一本久久a久久精品亚洲| 午夜精品在线看| 亚洲第一区在线观看| 欧美国产日韩一区二区三区| 一区二区三区四区五区精品| 欧美一区二区播放| 日韩性生活视频| 国产中文一区二区| 欧美—级a级欧美特级ar全黄| 一片黄亚洲嫩模| 久久一二三四| 欧美亚洲一区在线| 一区二区高清视频| 激情婷婷久久| 国产欧美一区二区精品忘忧草| 欧美插天视频在线播放| 欧美一区二区三区免费观看视频| 亚洲黄色免费| 久热精品在线视频|