C++中如何使用地址運算符

C++中如何使用地址運算符,針對這個問題,這篇文章詳細介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

望江ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

在C++中,&這個C++地址運算符有兩個含義,一種含義是取某個變量或者對象的地址。這個地址是指內(nèi)存地址,這個地址取到之后,可以賦給一個指針。例如下面這樣

int a=5;  int *p=&a;

這就表示,有一個變量為a,其值為5,然后有一個指針變量p,它保存了變量a的地址。

但C++中,&還有一個用途是定義引用常量。引用其實就相當(dāng)于是一個變量的別名,從它的功能上說與指針很類似,但使用起來比較簡便。

我們先來看如何定義一個引用

int a=5;  int &b=a;

這就表示,有一個變量為a,其值為5,然后有一個引用變量b,它引用了變量a。實際上此時兩個變量的操作都會影響到彼此,因為它們所使用的內(nèi)存是一樣的。

int main()  {  int a=5;  int &b=a;   cout<<&a<<endl;  cout<<&b<<endl;   return 0;  }

那么,引用與指針相比有什么大的區(qū)別呢?依我看,主要是使用起來比較方便

為了說明這個問題,我用下面的C++地址運算符的范例做了解釋

#include <iostream> using namespace std;   class human{  public:  void Talk();  };   void human::Talk(){  cout<<"Hello"<<endl;  }   int main()  {  human h;//創(chuàng)建一個human對象  human *p=&h;//創(chuàng)建一個指針,指向該human對象的地址  p->Talk();//調(diào)用該human對象的Talk方法  (*p).Talk();//或者也可以這樣寫   human &hh2=h;//創(chuàng)建一個引用  h2.Talk();//可以直接調(diào)用Talk方法   cout<<"h的地址是:"<<&h<<endl;  cout<<"p的地址是:"<<p<<endl;  cout<<"h2的地址是"<<&h2<<endl;   return 0;  }

關(guān)于C++中如何使用地址運算符問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。

網(wǎng)站欄目:C++中如何使用地址運算符
本文鏈接:http://bm7419.com/article30/geghpo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、營銷型網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站標(biāo)簽優(yōu)化、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都網(wǎng)站建設(shè)