最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于指針pointers和引用references的區(qū)別分析

 更新時間:2013年05月03日 10:48:48   作者:  
本篇文章介紹了,基于指針pointers和引用references的區(qū)別分析。需要的朋友參考下

指針用“*”和“->”操作符,引用用"."操作符,當(dāng)然這是表面的區(qū)別。

    1、引用必須代表一個對象,沒有所謂的空引用。指針可以為NULL。即引用必須有初值,指針不然。所以在使用pointers之前,必須測試它是否為null。references不需要測試。

    2、pointers可以被重新賦值,指向另一個對象,reference總是指向(代表)它最初獲得的那個對象:

復(fù)制代碼 代碼如下:

string s1("Nancy");
string s2("Clancy");

string &rs = s1;      //rs指向s1.
string *ps = &s1;  //ps指向s1.
rs = s2;                 //rs仍然代表s1,
                             //但是s1的值變成了“Clancy”


ps = &s2;             //ps現(xiàn)在指向s1,
                            //s1沒有變化


    3、還有一些情況需要使用references。例如實(shí)現(xiàn)某些操作符的時候。最常見的例子是operator[]。這個操作符很特別的必須返回某種“能夠被當(dāng)做assignment賦值對象”的東西。

    4、結(jié)論:當(dāng)你知道你需要指向某個東西,而且絕不會改變指向其他東西,或是你實(shí)現(xiàn)一個操作符而其語法需求無法由pointers達(dá)成,你應(yīng)該選擇references。任何其他時候,請采用pointers。

相關(guān)文章

最新評論

郯城县| 西青区| 南京市| 普定县| 中宁县| 天峨县| 梅河口市| 清涧县| 冕宁县| 辉县市| 鸡泽县| 浪卡子县| 泌阳县| 堆龙德庆县| 犍为县| 吉安县| 巴里| 封开县| 寿宁县| 黔南| 崇明县| 西峡县| 容城县| 保靖县| 海兴县| 洪湖市| 海晏县| 平武县| 晴隆县| 射阳县| 巢湖市| 宜君县| 阳信县| 江阴市| 朝阳区| 咸阳市| 南部县| 台州市| 阳城县| 汝州市| 江阴市|