C 程式設計別名問題,C 中為什麼要用別名來操作物件或者資料??

2025-03-27 16:05:10 字數 2531 閱讀 7682

1樓:匿名使用者

a& func(a&one)這個函式定義為需要乙個a型別的引用引數,返回值為a型別的引用。執行a&b=func(a)時,傳遞給函式的就是a的引用(也皮芹就是別名啦),這衡握缺又相當於返回a給b啦,b也是乙個引用,後面對b的操作也會影響到a,對a操作咐辯也會影響到b。&這個符號就是引用的符號嘛,你看到這個就理解為是同乙個就行啦唉,基礎問題也沒辦法說的太怎樣,真的還不理解就書多看幾遍,自然會懂。

2樓:匿名使用者

所有的原因所在做襪橡於這句話:a& func(a&one)在傳遞引數時,不是按值傳遞(只是複製了值純旁),而是按引用傳遞,也就是說傳遞的是實參真正的內容,而不是乙個副本。所以在返回one時,a& func(a& one)返好拿回的還是原來的東西,沒有進行復制操作。

而&本身就是引用操作符,所以返回的當然是one的引用了。

3樓:匿名使用者

因為全是氏物引用阿,慶神所以當func(a)的時候別沒給譽核虧副本,而是a這樣在a& func(a&one)中,one就是a的別名。

4樓:匿名使用者

one是a的別名,可以用來呼叫a中的函式。

c++中為什麼要用別名來操作物件或者資料??

5樓:葉片舟

3全部樓主說的是引用變數吧。

雖然在同乙個函式內,沒有多大意義。

但是引用變數在函式引數傳遞時起很大的作用。

比如定義了乙個類。

class node

void fun(node &a); //這個的效率明顯比下面的效率高,這個只是傳入了乙個位址。

void fun(node a); //這個是把每個資料都拷貝了乙份再傳入函式的。

6樓:次文柏

引用,做函式的引數,和指標有想同的作用,通過改變形參的值修改實參的值。

對於c++中乙個大型的類物件,有很多的變數,如果使用變數訪問,函式的壓棧,複製等操作需要花費很長的時間,所以使用引用比較方便(當然也可以使用指標)。

c++中既然引用就是起別名,有什麼存在的必要

7樓:丿艾瑞灬莉婭

你覺得哪個看起來舒服點。

cvoid swap(int *a, int *b)swap(&a, &b);

c++void swap(int &a, int &b)swap(a, b);

8樓:璐人釔

程式語言肯定是往方便發展的,引用比指標方便很多。

c++別名問題(因為每次給分都拿不到滿意答案,有人答了再追分)

9樓:

加&表示引用。引用相當於對應變數的乙個別名,不會產生拷貝。如果返回值不加&,那麼在每次++運算子返回結果的時候都會做一次對this的拷貝。

對於引用的概念,可以向樓上那樣理解成乙個靜態指標(不是指向靜態變數的指標),但要注意語法上面的不同。

c++結構體宣告別名是指標的問題

10樓:

這一點也不繞!lnode是struct lnode的別名,二者等價,linklist是struct lnode*的別名,二者等價。要舉個例嘛,那就是lnode *p;和linklist p是同乙個意思……

11樓:網友

typedef struct lnode

lnode;

這樣寫表示定義乙個結構體struct lnode,並且其可以簡寫為lnode。順帶一提,現在這樣寫typedef已經意義不大了,因為多數編譯器已經支援直接簡寫結構體名稱(不寫struct),而且你看這個結構體的內部實際上已經在使用簡寫了(lnode *next)

typedef struct lnode

linklist;

這樣寫表示定義乙個結構體lnode,並且其指標型別lnode*以後可以記作linklist

c++中 ,引用取了別名,為何不能再作為其他變數名的別名?

12樓:網友

很多東西是規定,壓根就沒有什麼的為什麼。

你引用到別的地方去了,你編譯的時候就error了,編譯器已經規定了這種語法。

搞成和指標那樣,不就顯得引用很多於了。

c++ typedef無法定義別名

13樓:網友

首先看看byte前是否有不可顯示的非英文字元,可以先刪除掉前面空白到上一行再回車。

其次你這個只是vc助手類的問題,或者是ncb損壞,如果能編譯執行則不算事兒。

14樓:雨諾與諾

能編譯執行就行,有時候雖然你寫的時候畫了紅線認為出錯,其實不影響編譯。

c++中關於使用別名傳遞的問題

15樓:幻形術

void swap(int &x,int &y);放在main函式頂上才行。

c語言程式設計中101是什麼意思C語言程式設計中101是什麼意思

char c4 101 這裡的 101是個轉義字元。c語言中,一個ascii字元用單引號括起來,表示單字元常專量,如 a a 0 9 等 c語言中,還定屬義了一些字母前加 來表示常見的那些不能顯示的ascii字元,如 0,t,n等,稱為轉義字元 因為 斜槓 後面的字元,都不是它本來的ascii字元意...

C語言細節問題,在C語言程式設計中應該注意哪些問題

答案選d 預處理如 include 在編譯之前就已經抄到該 檔案或者已經賦值,故d正確 include voidmain void 在c語言程式設計中應該注意哪些問題 43.別心急,設計c 的class確實不容易 自己程式中的class和自己的class設計水平是在不斷的程式設計實踐中完善和發展的 ...

c語言程式設計時為什麼要加標頭檔案,C語言程式設計時為什麼要加標頭檔案?

在c語言家族程式中,標頭檔案被大量使用。一般而言,每個c c程式通常由標頭檔案 header files 和定義檔案 definition files 組成。標頭檔案作為一種包含功能函式 資料介面宣告的載體檔案,用於儲存程式的宣告 declaration 而定義檔案用於儲存程式的實現 impleme...