c中函式名字前有是什麼意思C函式名前面加是什麼意思

2021-03-04 07:19:25 字數 2523 閱讀 9549

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屬性就可以了。敢問你對物件這個概念有怎樣的理解,物件導向的重點是物件,而不是面向,如果你想知道...