1樓:人設不能崩無限
本來「* head」代表的是傳指標的,但是隻能改變head指向的內容,而「* &head」意思是說head是傳進來的指標的同名指標,就能既改變*head指向的內容,又能改變head這個指標。
c++語言的整數常量有三種形式:十進位制、八進位制、十六迸制。
(1)十進位制整數是由不以0開頭的0~9的數字組成的資料。
(2)八進位制整數是由以0開頭的0~7的數字組成的資料。
(3)十六進位制整數是由以0x或0x開頭的0~9的數字及a~f的字母(大小寫字母均可)組成的資料。
2樓:匿名使用者
在不同的地方有不同的語意.
單說你的這個例子void insertfront(node* & head, t item)
引數 node* & head 是指一個 node型別的指標(*)的引用(&).
3樓:沒有不怕
&是取值,假設int p=0,0這個資料儲存在記憶體0x04,而p這個符號儲存在0x08,那&p就等於p的地址0x08,p是指向0這個資料的,而*是所指向的資料,*&p就是取出p地址所指向的資料,即(*&p == 0)。
4樓:80的小尾巴
*表示指標,&表示引用,*&連用表示指標的引用,例如int * & a;表示宣告一個int型別指標的引用
5樓:匿名使用者
指標的引用
譬如int a(int* &num);
呼叫的時候
int *a=new int(1);
a(a);
這樣直接用a的值傳進函式,而不用再傳遞給形參num.
從而類似於操作a++;
而如果不加&,是無法改變a指標指向的地址的,只能改變*a的內容
c++裡*和&連用是什麼意思?
6樓:匿名使用者
連起來跟沒寫這兩個字元是一樣的意思,取了地址&相當於引用,*是解引用,就是取內容,所以這兩個操作符連在一起就相當於什麼也沒做,還是p。
7樓:匿名使用者
指標的bai
引用例子du:
int fun(int*& p)
解引用專:
int fun()
8樓:小兆
路過,這種問題自己測試就可以了。不用浪費財富來提問。
c++ 中 *&符號連用是什麼意思
9樓:
引用是c++引入的新語言特性,是c++常用的一個重要內容之一,正確、靈活地使用引用,可以使程式簡潔、高效。
引用簡介
引用就是某一變數(目標)的一個別名,對引用的操作與對變數直接操作完全一樣。
引用的宣告方法:型別識別符號 &引用名=目標變數名;
【例1】:int a; int &ra=a; //定義引用ra,它是變數a的引用,即別名
說明:(1)&在此不是求地址運算,而是起標識作用。
(2)型別識別符號是指目標變數的型別。
(3)宣告引用時,必須同時對其進行初始化。
(4)引用宣告完畢後,相當於目標變數名有兩個名稱,即該目標原名稱和引用名,且不能再把該引用名作為其他變數名的別名。
ra=1; 等價於 a=1;
(5)宣告一個引用,不是新定義了一個變數,它只表示該引用名是目標變數名的一個別名,它本身不是一種資料型別,因此引用本身不佔儲存單元,系統也不給引用分配儲存單元。故:對引用求地址,就是對目標變數求地址。
&ra與&a相等。
(6)不能建立陣列的引用。因為陣列是一個由若干個元素所組成的集合,所以無法建立一個陣列的別名。
引用應用
1、引用作為引數
引用的一個重要作用就是作為函式的引數。以前的c語言中函式引數傳遞是值傳遞,如果有大塊資料作為引數傳遞的時候,採用的方案往往是指標,因為這樣可以避免將整塊資料全部壓棧,可以提高程式的效率。但是現在(c++中)又增加了一種同樣有效率的選擇(在某些特殊情況下又是必須的選擇),就是引用。
【例2】:
此處函式的形參p1, p2都是引用
為在程式中呼叫該函式,則相應的主調函式的呼叫點處,直接以變數作為實參進行呼叫即可,而不需要實參變數有任何的特殊要求。如:對應上面定義的swap函式,相應的主調函式可寫為:
main( )
} (5)在另外的一些操作符中,卻千萬不能返回引用:+-*/ 四則運算子。它們不能返回引用,effective c++[1]的item23詳細的討論了這個問題。
主要原因是這四個操作符沒有side effect,因此,它們必須構造一個物件作為返回值,可選的方案包括:返回一個物件、返回一個區域性變數的引用,返回一個new分配的物件的引用、返回一個靜態物件引用。根據前面提到的引用作為返回值的三個規則,第2、3兩個方案都被否決了。
靜態物件的引用又因為((a+b) == (c+d))會永遠為true而導致錯誤。所以可選的只剩下返回一個物件了。
4、引用和多型
引用是除指標外另一個可以產生多型效果的手段。這意味著,一個基類的引用可以指向它的派生類例項。
【例7】:
class a;
class b:public a;
b b;
a &ref = b; // 用派生類物件初始化基類物件的引用
ref 只能用來訪問派生類物件中從基類繼承下來的成員,是基類引用指向派生類。如果a類中定義有虛擬函式,並且在b類中重寫了這個虛擬函式,就可以通過ref產生多型效果。
引用總結
(1)在引用的使用中,單純給某個變數取個別名是毫無意義的,引用的目的主要用於在函式引數傳遞中,解決大塊資料或物件的傳遞效率和空間不如意的問題。
(2)用引用傳遞函式的引數,能保證引數傳遞中不產生副本,提高傳遞的效率,且通過const的使用,保證了引用傳遞的安全性。
(3)引用與指標的區別是,指標通過某個指標變數指向一個物件後,對它所指向的變數間接操作。程式中使用指標,程式的可讀性差;而引用本身就是目標變數的別名,對引用的操作就是對目標變數的操作。
(4)使用引用的時機。流操作符<>、賦值操作符=的返回值、拷貝建構函式的引數、賦值操作符=的引數、其它情況都推薦使用引用。
10樓:馮凱在**
沒有這麼用的吧,能舉個例子嗎
11樓:匿名使用者
表示對定義一個指標變數的引用
c++中,*和&怎麼區別,用的時候有什麼不同?
12樓:匿名使用者
*加一個變數名bai 組成的是一個指標類
du型,指標型別是存zhi放變數地址dao用的,比如內說int *p=&i;
這個就是容說p存放的是i這個變數的地址,&i的意思就是取出來i這個變數的地址,int *p 的意思就是說 定義一個int型別的指標,這個指標的名字叫做p ,定義變數用的是 型別+變數名這種方式,定義指標用的是型別+*+變數名的方式
13樓:匿名使用者
&表示一個地址,如你copy作輸入用時不是經常
bai用到scanf ( "%d",&num )之類的語句嗎?,du它就是zhi將你輸入的數存到num變數所指向dao的地址,而*是一個指標的標誌,如*p=num,這裡就是將num這個單元的資料送到*p所指向的地址裡。如還不明白,再追問吧
14樓:無病呻吟
注意&:
在定義變數的時候是引用,如int &a = b; a為b的一個引用
在表示式中為取地址如int *a = &b; a位指向b整型的一個指標
c++語言中 *與&的作用分別是什麼啊?
15樓:匿名使用者
額 這個 尼瑪 啊 雖然知道 大概就是 解引用和引用(此引用和下方的引用不同),這也可以叫解引用和取地址。
但是 *可以是乘 &這個也可以是位與
而且 在c++中 &還可以是引用
C中符號連用是什麼意思C中和同時使用是什麼意思?
引用是c 引入的新語言特性,是c 常用的一個重要內容之一,正確 靈活地使用引用,可以使程式簡潔 高效。引用簡介 引用就是某一變數 目標 的一個別名,對引用的操作與對變數直接操作完全一樣。引用的宣告方法 型別識別符號 引用名 目標變數名 例1 int a int ra a 定義引用ra,它是變數a的引...
C語言中和是什麼意思,C語言中的符號 和 是什麼意思?
連起來的意思 我舉個例子吧 inta 3 int b 2 intc if a b c a c b 意思是如果a b就執行c a,否則就執行c b 類似於下面的語句 if a b else 條件運算子是?表示式為 表示式1?表示式2 表示式3 表示式2是條件成立 邏輯值為1 時整個表示式的取值 表示式...
c語言中是什麼意思,C語言中 和 符號是什麼意思?
是與的意思 即左右兩邊都成立才成立 應該是要 左邊成立且右邊不成立才成立 00000000000000000000 的優先順序大於 所以 a b就是 a b 兩個 表示 邏輯與 一個 表示 位與 與非,就是 與 和 非 的合體,比如a b就是a和我b並在一起的對立。不是一體的 和!是分開的 因為!有...