C 引用 指標

2021-08-21 15:42:41 字數 1234 閱讀 1379

1.引用的概念及用法

引用:引用不是定義乙個新的變數,而是給乙個已經定義的變數重新起乙個別名。

例如:

int & b =a;
b是a的引用,即b是a的別名。

引用的特點:

a.乙個變數可取多個別名

b.引用必須初始化(int &b;不知道b是誰的別名)

c.引用只能在初始化的時候引用一次,不能改變為再引用其他的變數(例如,b是a的別名就只能是a的別名,不能在成為其他變數的別名)

引用的用法:

void test()
非const引用不能與const物件繫結,因為常量a的值不可改變,但卻可以通過非const引用來改變常量a的值,這樣做是錯誤的,如下:

void test()
這裡採用引用傳遞,如果形參為引用型別,則形參是實參的別名。

傳引用的效率比傳值效率高.

注意,當不希望函式改變引數的值時,盡量使用常引用傳參。

void data(const

int& x);

3.引用做返回值

首先,需要了解什麼時候用傳值返回,什麼時候用傳引用返回?

當函式返回時,出了作用域值還在,用傳引用返回,來提高效率;出了作用域值不在,採用傳值返回。

傳引用:將返回值的別名返回;

傳值:給返回值拷貝乙份返回;

int& add(int d1,int d2)
4.指標和引用的區別和聯絡

a.引用只能在初始化時一次,之後不能改變指向其他變數(從一而終);

指標變數的值可變;

b.引用必須指向有效的變數,指標可以為空;

c.sizeof指標物件和引用物件的意義不一樣。sizeof引用得到的是所指向的變數的大小,而sizeof指標是物件位址的大小。

d.指標和引用自增(++)自減(–)意義不一樣。

e.相對而言,引用比指標更安全。

總結:

指標比引用更靈活,但也更危險。使用指標時一定要注意檢查指標是否為空。指標所指的位址釋放以後最好置0,否則可能存在野指標問題。

c 引用 指標

1.引用的作用 給變數起乙個別名,是c 對c的擴充。原名和別名有相同的位址,根本上就是同乙個東西,只是名字不一樣。c 的引用機制主要是為了用作函式引數,增強函式傳遞資料的能力,比如swap函式,引用就是為了直接修改實參。2.宣告方式 int a int b a 緊跟在資料型別後,即為引用宣告符,其他...

c 引用 指標。

一 什麼是引用 reference 已經存在的物件的另外乙個名字。引用有什麼特別的?1.引用在定義時,以 開頭。2.引用不是物件,只能繫結在物件上。所以必須在初始化的時候,指定引用繫結的物件。而且引用繫結是不可以改變的。int val 0 int refval val 不允許這樣初始化int ref...

C 中的指標 引用 指標引用

在c 指標的用處很大,可以快讀的訪問位址空間,而且本身不佔太大記憶體。指標操作在引數傳遞的時候非常方便。既可以作為傳入引數,又可以作為返回值。但是可不可作為函式的傳出引數呢?下面通過乙個例子來說明。教室裡面包含多個老師,每個老師管理多個學生 學生類 pragma once include class...