您好,登錄后才能下訂單哦!
C++中如何使用地址運算符,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
在C++中,&這個C++地址運算符有兩個含義,一種含義是取某個變量或者對象的地址。這個地址是指內存地址,這個地址取到之后,可以賦給一個指針。例如下面這樣
int a=5; int *p=&a;
這就表示,有一個變量為a,其值為5,然后有一個指針變量p,它保存了變量a的地址。
但C++中,&還有一個用途是定義引用常量。引用其實就相當于是一個變量的別名,從它的功能上說與指針很類似,但使用起來比較簡便。
我們先來看如何定義一個引用
int a=5; int &b=a;
這就表示,有一個變量為a,其值為5,然后有一個引用變量b,它引用了變量a。實際上此時兩個變量的操作都會影響到彼此,因為它們所使用的內存是一樣的。
int main() { int a=5; int &b=a; cout<<&a<<endl; cout<<&b<<endl; return 0; }
那么,引用與指針相比有什么大的區別呢?依我看,主要是使用起來比較方便
為了說明這個問題,我用下面的C++地址運算符的范例做了解釋
#include <iostream> using namespace std; class human{ public: void Talk(); }; void human::Talk(){ cout<<"Hello"<<endl; } int main() { human h;//創建一個human對象 human *p=&h;//創建一個指針,指向該human對象的地址 p->Talk();//調用該human對象的Talk方法 (*p).Talk();//或者也可以這樣寫 human &hh2=h;//創建一個引用 h2.Talk();//可以直接調用Talk方法 cout<<"h的地址是:"<<&h<<endl; cout<<"p的地址是:"<<p<<endl; cout<<"h2的地址是"<<&h2<<endl; return 0; }
關于C++中如何使用地址運算符問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。