引用的基礎知識

2021-07-25 20:50:48 字數 771 閱讀 8904

傳智掃地僧課程學習筆記。

引用,已定義變數的別名,

int a = 10;

int &b = a;

b = 20;

此時操作b,就是在操作a,

來讓我們看看內幕,

int a = 10;

int &b = a;// int *const b = &a;

b = 20;//*b = 20;

旁邊的注釋,就是c++編譯器幫我們做的工作,

普通引用必須顯示初始化,比如int &c; 這樣就是錯的,

作為函式形參的時候,不用,

下面是經典的兩數交換函式的3個版本,

版本1:

void swap( int a, int b)

int c = a;

a = b;

b = c;

swap( x,y);//這樣其實沒有達到我們想要的交換目的,

版本2:

void swap( int *a, int  *b)

int c = *a;

*a = *b;

*b = c;

swap( &x, &y);//這樣寫的話,能交換

版本3:

void swap( int &a, int &b)

int c = a;

a = b;

b = c;

swap( x,y);

//這樣寫的話,也能交換,這種情況下,引用初始化不用賦值,呼叫函式的時候,直接扔變數即可,不用取位址,其實是編譯器幫我們取位址了,

基礎知識 引用

引用說明 引用的時候需要在定義的時候初始化 在此不是求位址運算,而是起標識作用。型別識別符號是指目標變數的型別。宣告引用時,必須同時對其進行初始化。宣告乙個引用,不是新定義了乙個變數,它只表示該引用名是目標變數名的乙個別名,它本身不是一種資料型別,因此引用本身不佔儲存單元。1 引用作為引數 char...

C 中引用的基礎知識

include using namespace std 1 引用的基本概念 int main01 2 引用是c 的語法範疇,是屬於c 編譯器對c的擴充套件 c編譯器不能通過引用這個概念 3 引用做函式引數 普通引用在宣告的時候必須用其它的變數進行初始化 引用作為函式引數宣告時不進行初始化 int m...

基礎知識 指標和引用的區別

1.指標有自己的一塊空間,而引用只是乙個別名 2.使用sizeof看乙個指標的大小是4,而引用則是被引用物件的大小 3.指標可以被初始化為null,而引用必須被初始化且必須是乙個已有物件 的引用 4.作為引數傳遞時,指標需要被解引用才可以對物件進行操作,而直接對引 用的修改都會改變引用所指向的物件 ...