亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

請問,C++ 中,類名 & 變量名 是什么意思?

請問,C++ 中,類名 & 變量名 是什么意思?

C++
慕俠2389804 2019-07-07 04:04:37
請問,C++ 中,類名 & 變量名 是什么意思?
查看完整描述

5 回答

?
神不在的星期二

TA貢獻1963條經驗 獲得超6個贊

&表示引用?!?amp;變量名”,就相當于給變量取的一個別名。因為主程序向子程序傳遞形參后不改變原變量的值。如果想改變原變量的值,就要用指針來傳遞變量的地址從而改變變量的值。但用指針的話可讀性就不是太好,所以用“&變量名”作為變量的別名,既能改變原變量的值,也好讓人看懂,就是可讀性強,程序就簡潔易懂多了。

查看完整回答
反對 回復 2019-07-08
?
一只斗牛犬

TA貢獻1784條經驗 獲得超2個贊

打個比方說,現在有個類:class A{};
A &a這個時候a是A的別名,相當于給類A又起了個名字,以后對a的操作都是對A的操作,一般情況下是用在函數形參的時候,在函數中操作類相當操作實參的類,和指針比起來,效率更快,因為是別名,不用分配新的內存。

查看完整回答
反對 回復 2019-07-08
?
手掌心

TA貢獻1942條經驗 獲得超3個贊

是引用的意思,一般對于類或者結構體變量,如果直接返回,是有些問題的,所以我們一般用指針或者引用返回。C++推薦用引用返回,因為其實效率上和指針類似,又避免了指針的一些問題。你看多了就習慣了。
比如,要把這個類增加個重載運算符<<,也是這樣寫:
class Screen {
...
friend ostream & operator << (ostream & o, Screen & s)
{
o << "[" << s.x << "," << s.y << "]";
return o;
}

...
然后你使用的時候可以這樣寫:class Screen s; cout << s << endl;
這樣寫的好處就是你把變量當成普通的結構體或者類變量用就行,而且效率很高。

查看完整回答
反對 回復 2019-07-08
?
蝴蝶刀刀

TA貢獻1801條經驗 獲得超8個贊

c++類名稱后面帶&符號若聲明一個變量則該類聲明變量為引用變量,若類名稱后面帶&符號放在一個方法的前面,則該方法返回一個該類型的變量引用。如下面代碼:

1

2

3

4

5

6

7

class A

{

    //...

};

 

A a;//聲明類變量a

A &b = a; //聲明一個引用變量b=a

引用引入了對象的一個同義詞。定義引用的表示方法與定義指針相似,只是用&代替了*。引用(reference)是c++對c語言的重要擴充。引用就是某一變量(目標)的一個別名,對引用的操作與對變量直接操作完全一樣。引用的聲明方法:類型標識符 &引用名=目標變量名;


 

 


查看完整回答
反對 回復 2019-07-08
?
ITMISS

TA貢獻1871條經驗 獲得超8個贊

這是c++相對于c新引入的一個概念——引用
引用的性質基本和指針一樣。
在平時寫函數的時候,假如你在調用的時候傳了一個參數v而沒用“引用”或者“指針”,那么你寫的函數里的v和主程序里的v是毫不相干的。就是函數里面把v的值變了,在函數體結束了以后,主程序里的v依然保持函數調用前的值。
但是有的時候你需要讓兩個v都改變。比如說你想寫一個swap(a,b)函數(交換a,b的值)。這個時候你用普通的傳參數的方法是不行的。要么你用指針
void swap(int *pointa,int *pointb)
要么你在函數定義的時候就申明,傳的參數是一個引用
void swap(int &a,int &b)【注:這兩個語句都是函數申明】
就我現在的編程體會來看,引用和指針基本沒有功能上的區別,唯一的區別就是在函數體里面使用的時候指針有指針的一套賦值、取類成員的方法,而引用的使用方法基本和一般變量一樣

查看完整回答
反對 回復 2019-07-08
  • 5 回答
  • 0 關注
  • 5536 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號