日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

引用的定义、使用及其和指针的区别与联系

發(fā)布時(shí)間:2025/5/22 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 引用的定义、使用及其和指针的区别与联系 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

引用

對(duì)一個(gè)數(shù)據(jù)可以建立一個(gè)“引用”,它的作用是為一個(gè)變量名起一個(gè)別名。

int??a;

int??&b=a;//使變量b具有變量a的地址

注意:

1.引用不是一種獨(dú)立的數(shù)據(jù)類型,對(duì)引用只有聲明,沒有定義;

2.聲明一個(gè)引用時(shí),必須同時(shí)使之初始化,即聲明它代表哪一個(gè)變量;

3.在聲明一個(gè)引用后,不能再使之作為另一變量的引用

int??a1,a2;

int??&b=a1;

int??&b=a2;??(錯(cuò)誤)

4.不能建立引用數(shù)組

int??a[5];

int??&b[5]=a;??(錯(cuò)誤)

int??&b=a[0];??(錯(cuò)誤)

5.不能建立引用的引用,也沒有引用的指針

6.可以取引用的地址

7.區(qū)別引用聲明符&和地址運(yùn)算符&

int??&b=a;//聲明ba的引用

cout?<<&b<<endl;//輸出b的地址,此時(shí)&a不是引用

在聲明了引用后,在使用時(shí)不帶&,而只用引用的名字(如b,而不是&b)

?例:程序中,k被初始化為?i的引用。語句k?=?j?并不能將?k修改成為j的引

只是把?k的值改變成為?6?。由于?ki的引用,所以i的值也變成了6?

int i = 5;

int j = 6;

int &k = i;

k=j; // k 和i的值都變成了 6;

引用和指針的區(qū)別與聯(lián)系:

1.引用只能在定義時(shí)初始化一次,之后不能改變指向其他變量(從一而終),指針變量的值可變;

2.引用必須指向有效的變量,指針可以為空;

3.Sizeof指針對(duì)象和引用對(duì)象的意義不一樣。Sizeof引用得到的是所指向的變量大小,而Sizeof指針是對(duì)象地址的大小;

4.指針和引用的自增(++)、自減(-?-)意義不一樣;

5.引用比指針更安全。

例:實(shí)現(xiàn)兩個(gè)變量的值互換,用“引用”作形參

程序:

#include<iostream>

using namespace std;

int main()

{

void ?swap(int &, int &);

int i = 3, j = 5;

cout << "i=" << i << " " << "j=" << j << endl;

swap(i, j);

cout << "i=" << i << " " << "j=" << j << endl;

system("pause");

return 0;

}


void ?swap(int &a, int &b)

{

int temp;

temp = a;

a = b;

b = temp;

}


結(jié)果:

i=3?j=5

i=5?j=3

請按任意鍵繼續(xù).?.?.


轉(zhuǎn)載于:https://blog.51cto.com/yaoyaolx/1754471

《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

總結(jié)

以上是生活随笔為你收集整理的引用的定义、使用及其和指针的区别与联系的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。