C在函式內給變數起別名是什麼意思

2021-05-12 01:31:01 字數 3982 閱讀 3429

1樓:匿名使用者

程式編譯後 cref與count就區分不開了c++獨有的type& 命名方式

這裡只是起到一個別名(alias)的作用

相當於一個記憶體地址上有兩個不同的名字

也就是兩個不同的變數名, 在使用效果上它們是完全等同的沒錯, 編譯後替換的當然都是同一記憶體地址。

alias 機制只是編譯器的一種優化

作用是讓程式設計師更簡單的使用變數

像你舉的這種例子很少見

這種形式經常在函式引數中出現

譬如 void function(type& t);形式最大的好處就是可以直接改變變數的值

而在c時代中,則必須通過指標或者返回值來改變如果我們來寫一段變數交換值的函式**

c中的:

void swap(int* a,int* b)c++中的:

void swap(int& a,int& b)總的來說,type&應用的挺多的,可以使**簡潔清晰不少.

2樓:匿名使用者

c++ 在函式內給變數起別名的意思:程式編譯後 cref與count就區分不開了,c++獨有的type& 命名方式,這裡只是起到一個別名(alias)的作用,相當於一個記憶體地址上有兩個不同的名字,也就是兩個不同的變數名,在使用效果上它們是完全等同的。編譯後替換的是同一記憶體地址。

3樓:

起別名 就如起外號,例如 黑旋風 李逵,count 是 李逵,cref 是 黑旋風。黑旋風++,也就是 李逵++。

目的是讓 變數名 更有意義,讓源程式更容易 閱讀和理解。例如 count 是 計數器,cref 是 參考計數(或別的意思,寫程式的人知道)。

cref 也是int變數,與count 等價,共享一個記憶體單元,cref 增 1,count 也就 增 了 1。

int count=1;

int &cref=count;

cref++;

cout << count; // 輸出是 2

4樓:王

類似於一個人兩個名字。管理同一塊記憶體。

c++ 中,類名 & 變數名 是什麼意思?

5樓:匿名使用者

這是c++相對於c新引入的一個概念——引用

6樓:回憶怎麼撿

&表示引用。「&變數名」,就相當於給變數取的一個別名。因為主程式向子程式傳遞形參後不改變原變數的值。

如果想改變原變數的值,就要用指標來傳遞變數的地址從而改變變數的值。但用指標的話可讀性就不是太好,所以用「&變數名」作為變數的別名,既能改變原變數的值,也好讓人看懂,就是可讀性強,程式就簡潔易懂多了。

7樓:重新整理①丅

引用。百科資料

學c++引用和指標都要搞清楚。

8樓:心塵月曉

打個比方說,現在有個類:class a{};

a &a這個時候a是a的別名,相當於給類a又起了個名字,以後對a的操作都是對a的操作,一般情況下是用在函式形參的時候,在函式中操作類相當操作實參的類,和指標比起來,效率更快,因為是別名,不用分配新的記憶體。

9樓:超級旅行者

建立對變數的引用,這個引用相當於變數的另一個名字。

10樓:偽裝91心情

引用、獲取地址 和指標差不多

c++在定義函式時,在傳遞的引數後面加上「&」是什麼意思

11樓:匿名使用者

沒有這個形式,寫反了,應該是:

bool start(char& strr) {}這是說,函式的形參是你傳遞的實參的一個別名(引用)。

什麼叫別名呢?那就是一損俱損,一榮俱榮,完全可以當作同一個東西對待。

說白了,函式裡對引用引數的改變會影響到呼叫這個函式的程式中實參的值。

12樓:

引用,也就是直接用該變數,不生成副本

沒有&的話,就是拷備一個副本,然後再用,怎麼改變也不會影響原來的變數

bool start(char &strr)

13樓:沃聰接俠騫

函式引數傳遞順序,有stdcall

cpascal

fast

this

等標準,並不是c和c++定義的引數傳遞順序,具體你可以看一下這些呼叫的區別

c++中,類名&變數名是什麼意思?

14樓:匿名使用者

哈哈,選我吧!這是c++相對於c新引入的一個概念——引用

15樓:匿名使用者

宣告一個該型別的引用

c++裡面的應用符號 & 為什麼有的在變數名前面,有的在後面?有什麼區別?

16樓:匿名使用者

sales_item operator+(const sales_item&, const sales_item&);

sales_item是型別。

是+函式的宣告

可以寫成

專,屬

兩種寫法一樣的

17樓:匿名使用者

你確認sales_item是一個變數名麼。

&可以作為引用宣告符宣告一個引用。

&也是運算子,一元的&獲得指向運算元的指標,二元的&是按位與。

18樓:

變數前&為引用 int &r = i 相當於給i取了另一個名字r 。i和r都是同一個變數,只是名字不一樣而已。

變數後&為按位與 運算子 如 1&2 即1按位與2

19樓:深藍深藍

寫在左邊是取地址 右邊就不知道了......

c++中這些函式中的&是什麼意思?

20樓:匿名使用者

表示引用方式

& 「引用」的使用

1使用「引用」作為函式引數進行傳遞,實際上引用即給實際的變數(實參)取了一個別名,即共享一個記憶體單元,故實際函式處理的時候是對同一個記憶體單元進行處理,所以相應的實參會發生改變。好比一個人,除了有真實的姓名外,還有小名一樣,當你喊他的姓名的時候他會答應,喊小名的時候也會答應,因為是同一個人。綜上所述,「引用」才是正宗的傳址方式,不像用指標進行傳址一樣,繞了一大圈實際上是傳值的方式。

詳見

的第三部分

21樓:匿名使用者

這裡&出現在函式的引數列表中,用於說明引數的型別為引用。

比如frame & fr 表示fr的型別是frame型別的引用。

引用型別清楚是什麼麼?

c++ 定義變數時在後面加個&什麼意思

22樓:

引用的意思。就相當於你定義的int 變數n,給他取了個別名m_na,編譯時不為變數m_na分配記憶體單元。這樣做的好處是顯而易見的,特別是搞開發,

23樓:楓葉碎影

引用,比如&b=a; 就是說b是a的引用,

引用最大的特點就是在修改b的時候 a也被修改

24樓:匿名使用者

引用 具體的請參考相關教材

25樓:匿名使用者

引用,就是別名的意思,打個比方來說,有個人叫張三,別名三仔,那張三和三仔其實是同一個人,找張三也就是找三仔,找三仔也就是找張三。

26樓:張亞

表示對某變數的引用,可以直接操作被引用的變數的記憶體裡面的資料。

c語言中某個變數名後面加兩個加號是什麼意思

在變數名後加 表示自加1操作,即當該語句執行結束後,該變數的值增加1。舉例說明如下 int a 3,b b a 輸出a 4,b 3 解釋如下 由於 是後置的,所以先將變數a的值 即3 賦值給變數b後 此時b 3 a的值再加1 即此時a 3 1 4 所以最後輸出a 4,b 3 a 就相當於a a 1 ...

C語言函式呼叫引數傳遞的是什麼,在C語言裡向函式傳遞的是「引數」是什麼意思

c語言傳遞的是值而不是地址,這一點從vb轉過來的程式設計師一定要注意。否則不經版 意間就會犯權錯誤。另外下層函式修改上層函式變數不是一種好習慣,容易引發錯誤。c語言中函式可以返回一個函式值,如果你需要返回多個函式值可以用下面的形式 fun int a,int b main 如果按vb的習慣,fun ...

C中的語句含義,在c中語句abab是什麼意思

氣泡排序,列如 陣列 a,b,c,d,e,f 兩個兩個的 比,最外層的for表示一個字元需比對的次數迴圈版,比如a分別跟每一個比對,需權要5次 a b,a c,a d,a e,a f 迴圈從0開始,到len 2 len為陣列的長度6 也就是可以迴圈5次。內層迴圈,用i 1,是為了第二次迴圈準備,因為...