国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

基于指針pointers和引用references的區別分析

2019-11-26 16:08:38
字體:
來源:轉載
供稿:網友

指針用“*”和“->”操作符,引用用"."操作符,當然這是表面的區別。

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

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

復制代碼 代碼如下:

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現在指向s1,
                            //s1沒有變化


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

    4、結論:當你知道你需要指向某個東西,而且絕不會改變指向其他東西,或是你實現一個操作符而其語法需求無法由pointers達成,你應該選擇references。任何其他時候,請采用pointers。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 三台县| 永昌县| 东宁县| 石渠县| 塘沽区| 隆林| 札达县| 施秉县| 广德县| 子洲县| 宁陵县| 棋牌| 阳东县| 克东县| 登封市| 毕节市| 巴林右旗| 汉寿县| 乌鲁木齐市| 泰宁县| 福泉市| 平和县| 隆林| 东安县| 宁都县| 绥宁县| 扶余县| 勃利县| 抚远县| 利川市| 文水县| 腾冲县| 磐石市| 关岭| 无锡市| 钟祥市| 安阳县| 徐闻县| 永年县| 兴海县| 鄂温|