1樓:學雅思
&的意思是返回引用型別。
格式:型別識別符號 &函式名(形參列表及型別說明)。
在記憶體中不產生被返回值的副本;(注意:正是因為這點原因,所以返回乙個區域性變數的引用是不可取的。因為隨著該區域性變數生存期的結束,相應的引用也會失效,產生runtime error。
擴充套件資料
使用返回引用型別注意事項:
1、不能返回區域性變數的引用。這條可以參照effective c++的item 31。主要原因是區域性變數會在函式返回後被銷毀,因此被返回的引用就成為了"無所指"的引用,程式會進入未知狀態。
2、不能返回函式內部new分配的記憶體的引用。這條可以參照effective c++的item。雖然不存在區域性變數的被動銷毀問題,可對於這種情況(返回函式內部new分配記憶體的引用),又面臨其它尷尬局面。
例如,被函式返回的引用只是作為乙個臨時變數出現,而沒有被賦予乙個實際的變數,那麼這個引用所指向的空間(由new分配)就無法釋放,造成memory leak。
3、可以返回類成員的引用,但最好是const。這條原則可以參照effective c++的item 30。主要原因是當物件的屬性是與某種業務規則(business rule)相關聯的時候,其賦值常常與某些其它屬性或者物件的狀態有關,因此有必要將賦值操作封裝在乙個業務規則當中。
如果其它物件可以獲得該屬性的非常量引用(或指標),那麼對該屬性的單純賦值就會破壞業務規則的完整性。
2樓:匿名使用者
&的意思是,返回型別為***plex 的乙個引用。
不加&的時候表示,返回型別為***plex 的乙個拷貝。
就類似於函式引數傳遞時,按值傳遞和按引用傳遞的區別。
3樓:匿名使用者
返回乙個***plex 物件的引用。
既是返回的物件不會被複製 直接丟給你
4樓:匿名使用者
***plex &, 這個不應該叫函式名前有&,這個應該叫型別後面加&, 表示引用型別。
5樓:
&的意思為,為a1取個別名,為operator
c++函式名前面加&是什麼意思
6樓:司馬刀劍
這個和函式引數加位址符的作用是一樣的,用於返值返回的是引用而不是賦值。
也就是說,該函式返值會通過位址傳送的方式給到函式呼叫者要求的返回值,這樣可以節省物件賦值造成的記憶體浪費,通常用於返值是大型物件(而不是簡單變數型別)的時候。
比如你有個class t,而這個函式的返值是return t; 加上位址符返值後,返回t變數的位址,將位址傳遞給接收返值的變數,而不是新建乙個類t,呼叫類的複製函式建立乙個新類。
c++函式名的前面有&或是*符號,是什麼意思
7樓:匿名使用者
函式名前的&表示返回值型別是個引用,準確地說是左值引用,*則表示返回型別是指標,引用和指標的區別請自行查閱資料了。
c++函式名的前面有&或是*符號,是什麼意思?
8樓:永夜霧華
&,位與、取址、引用定義
* 與c的相同,指標定義、指定引用、乘積運算用到。
c++類的成員函式前加&什麼意思
9樓:匿名使用者
這個和函式引數加位址符的作用是一樣的,用於返值返回的是引用而不是賦值。
也就是說,該函式返值會通過位址傳送的方式給到函式呼叫者要求的返回值,這樣可以節省物件賦值造成的記憶體浪費,通常用於返值是大型物件(而不是簡單變數型別)的時候。
比如你有個class t,而這個函式的返值是return t; 加上位址符返值後,返回t變數的位址,將位址傳遞給接收返值的變數,而不是新建乙個類t,呼叫類的複製函式建立乙個新類。
10樓:it孤鶩
& 就是引用的意思
引用就是某一變數(目標)的乙個別名,對引用的操作與對變數直接操作完全一樣。
c++類名+&+函式名是什麼意思?
11樓:匿名使用者
過載運算子時用不用"&"都無
所謂,可以試試下面這個程式
#include
using namespace std;
class clock
; clock::clock(int newh,int newm,int news)
else
cout<<"time error!"<載定義 }return *this;
} clock clock::operator ++(int)//後置過載定義
int main()
看一看過載++ 的部分!希望對你有幫助~!天天開心
12樓:匿名使用者
在類外對這個函式進行例項化
也就是在類外把這個函式的內容寫出來
幾個(類名+&)才知道這個函式是屬於這個類的
在c中是什麼意思在C中是什麼意思
表示作用域,和所屬關係。比如乙個a類 存在乙個函式test是屬於a的,如下 關於 的具體解析 是運算子中等級最高的,它分為三種 1 global scope 全域性作用域符 用法 name 2 class scope 類作用域符 用法 class name 3 namespace scope 命名空...
c 中0」是什麼意思,C 中 0 是什麼意思?
是字串結束的標誌,也代表你這個字串為空,0的ascii碼也為0,這是字串的知識,不懂歡迎追問。c 中 0 是什麼意思?所有的ascii碼都可以用 加數字 一般是8進製數字 來表示。而c中定義了一些字母前加 來表示常見的那些不能顯示的ascii字元,如 0,t,n等,就稱為轉義字元,因為後面的字元,都...
c是什麼意思,在c 中 什麼意思
就是模運算,就是取餘 餘數 就是除號,int整數運算,就是取整數 四捨五入 物件導向就是所有的操作都是基於物件的,所關注的是物件,我想知道textbox裡的內容 這個操作,直接找textbox物件的text屬性就可以了。敢問你對物件這個概念有怎樣的理解,物件導向的重點是物件,而不是面向,如果你想知道...