指標和引用的區別
引用
引用是給另外一個變數起的別名,所以引用不會分配記憶體空間
引用和指標的區別
1.指標是一個實體,需要分配記憶體空間。引用只是變數的別名,不需要分配記憶體空間。
2.引用在定義的時候必須進行初始化,並且不能改變,指標定義時候之後也可以改變指向。
所以指標有判空操作,引用則不必。引用時候就是至死不渝。
3.指標和引用自增運算結果不一樣。
4.引用訪問一個變數是直接訪問,而指標訪問一個變數是間接訪問。
5.有多級指標,但是沒有多級引用,只有一級引用。
6.指標和引用的自增運算結果不一樣。
引用的實現
引用的特點是:一個引用一旦引用一個變數,但是這個引用的變數可以重新賦值。
這個就是指標常量的特點
我們先看下常量指標和指標常量
int x = 100;
int const *p = &x; //常量指標
int *const p = &x; //指標常量
引用用的是指標常量。
相關推薦
5、【C++】指標/引用(指標和引用的區別)
一、指標 int p=12; int *q; int *q=&p; 這裡p為int型別的變數,&p就是p的記憶體地址,*q是一個int型別的變數(是一個值),q為指標是地址,int q=&p;把p的地址賦給了指標q,所以q就
C++中指標和引用的區別、以及引用和取地址符&的區別
一. 指標和引用的區別 對於指標來說,它是一個地址,這個地址是一個數值,那麼就意味這個數值可以為0(空指標),也可以為其他,即指標可以不指向任何東西。 而對於引用來說,他是一個外號,外號一定是“某個存在物體”的外號,所以引用不能為空,即不能存在空引用。例如我們給小明起了個外號:明明,那我們說
初夏小談:C++中“指標”和“引用“”的區別
1.引用只能繫結一個實體,而指標可以指向不同實體2.使用指標時要判空,而引用不需要因此更安全3.引用在定義時必須初始化,指標不做要求4.在sizeof中:引用結果是引用型別的大小,但指標始終是地址空間所佔位元組個數 void Size() { long long x =
指標和引用的區別
引用 引用是給另外一個變數起的別名,所以引用不會分配記憶體空間 引用和指標的區別 1.指標是一個實體,需要分配記憶體空間。引用只是變數的別名,不需要分配記憶體空間。 2.引用在定義的時候必須進行初始化,並且不能改變,指標定義時候之後也可以改變指向。 所以指標有判
C++指標和引用的區別與聯絡
1.指標和引用的定義和性質區別: (1)指標是一個變數,只不過這個變數儲存的是一個地址,指向記憶體的一個儲存單元; 而引用跟原來的變數實質上是同一個東西,只不過是原變數的一個別名而已。 (2)可以有const指標,常量指標可以改變指向,指標常量
C++總結1——指標和引用/陣列的區別【轉】
1.指標和引有什麼區別?(從反彙編角度回答) a.其實引用和指標本質上是一樣的,他們的彙編指令都是兩行。 int a = 10; int *p = &a; //lea eax,[a] 將a的地址放在
指標和引用的區別及其使用意義
1、指標和引用的區別 (1)指標是一個實體,他在棧中有自己使用的空間,但是引用沒有,引用僅是個別名; (2)引用必須初始化,指標不用,但是最好初始化; (3)引用只能在定義時被初始化一次,之後不可變;指標可變; (4)引用沒有c
指標和引用、陣列的區別
指標和引用的區別 指標儲存的是所指物件的地址,引用是所指物件的別名,指標需要通過解決引用間接訪問,而引用是直接訪問; 指標可以改變地址,從而改變所指的物件,而引用必須從一而終; 引用在定義的時候必須初始化,而指標不需要; 指標有指向常量的指標和指標常量,而引用沒
C++中指標和引用的區別
下面用通俗易懂的話來概述一下: 指標-對於一個型別T,T*就是指向T的指標型別,也即一個T*型別的變數能夠儲存一個T物件的地址,而型別T是可以加一些限定詞的,如const、volatile等等。見下圖,所示指標的含義: 引用-引用是一個物件的別名,主要用於函式引
【引用】詳解及指標和引用的區別
1、基本概念 引用就是某一變數(目標)的一個別名,對引用的操作與對變數直接操作完全一樣。 2、特性 (1)&在此不是求地址運算,而是起標識作用。 (2)型別識別符號是指目標變數的型別。 (3)宣告引用時,必須同時對其進行初始化。 (4
面試熱門題C與C++的區別-------指標和引用
在面試過程中,C語言和C++的區別總是面試官的側重點,而指標和引用更是容易被問到,指標和引用的區別很簡單,但很少有人能有全面的,有層次有條理的回答這個問題,所以有條理的總結歸納就顯得尤為重要。 先來了
【面試常見問題】【C++】指標和引用的區別,有哪些不同點,細細道1
首先咱們弄清楚複合型別(Compound type)這個概念,因為指標和引用是Compound type中的兩種! 引用(reference): 何謂“引用”,這麼說吧,相信每個人都有個乳名,後來等到你升學入職啥的發現乳名B格很Low ! 這時候需要為自己起另外一個名字
淺談C++中指標和引用的區別
指標和引用在C++中很常用,但是對於它們之間的區別很多初學者都不是太熟悉,下面來談談他們2者之間的區別和用法。1.指標和引用的定義和性質區別:(1)指標:指標是一個變數,只不過這個變數儲存的是一個地址,指向記憶體的一個儲存單元;而引用跟原來的變數實質上是同一個東西,只不過是原變數的一個別名而已。如:int a
指標和引用的區別與相同點
原文地址:http://blog.csdn.net/will130/article/details/48730725 一、指標和引用的定義和性質區別: (1) 指標:指標是一個變數,只不過這個變數儲存的是一個地址,指向記憶體的一個儲存單元,即指標是一個實體;而引用跟原
指標和引用作為形參的區別
引用做函式的形參:在函式內部,對這個形參做任何操作,相當於對實參做相同的操作。 指標做函式的形參:在函式內部,只有在這個形參的值沒有變化的情況下,對其所指向的內容做任何操作,才相當於對實參所指向內容做的操作。而對這個指標本身做的操作只是這個形
指標和引用 作為函式引數
*和& * * 有兩個作用,一個是作為識別符號來表示這是一個指標(宣告變數時的等號左邊),也就是說存放的是地址,另外一個是作為運算子來取值(賦值等號左邊)。 int *p=NULL; int a = 1; p = &a; cout<<p<<
C++11智慧指標和引用
最近在學習課程的時候發現一個很困惑的問題,上程式碼 class DataHeader; class LoginResult:public DataHeader; typedef std::shared_ptr<DataHeader> DataHeaerPtr; //原型 void addS
C++中指標和引用還有*和&的關係
*是取值,&是取地址。 在函式定義宣告的時候按照谷歌規範,輸入是const &型別的,輸出是指標型別的。 在使用過程中如果輸入是上一個函式的輸出,在使用的時候需要使用&或者星號×指標進行處理。 在函式宣告過程中使用&表示引用,函式內對引數進行了修改外部也會發生
為什麼基類指標和引用可以指向派生類物件,但是反過來不行?
基類指標和引用 BaseClass *pbase = NULL; DerivedClass dclass; pbase = & dclass; 基類指標和引用可以指向派生類物件,但是無法使用不存在於基類只存在於派生類的元素。(所以我們需要虛擬函式和純虛擬函式) 原因是這樣的:
c++ 中的指標和引用
首先: 指標是儲存的變數的地址,引用是變數的別名,這個必須記住 單純的給變數取別名沒有任何的意義,作為引數傳遞,能保證引數傳遞過程中不產生任何的副本 引用可以直接操作變數,但指標的話必須通過(*p)間接的操作變數,指標可讀性行比較低 //引用必須要有初始值 //