c 中的引用

2021-06-20 08:51:52 字數 1120 閱讀 9775

c++中的布林型別:

c++在c的基礎上增加了bool型別,bool型別可取的值只有true和false,理論上bool變數只占用乙個位元組,而如果多個變數定義在一起,那麼可能各個變數只占用乙個位元組,這取決於編譯器的實現。true代表真值,在編譯器內部用1來實現;false代表非真值,在編譯器內部用0來實現。c++編譯器會在賦值時自動將非0轉換為true值,0值轉換為false值。

三目運算子的公升級:

c語言中三目運算子返回的是變數值,不能作為左值使用。

c++中的三目運算子可直接返回變數本身,因此可出現在程式中的任何地方。如果三目運算子可能返回的值中有乙個是常量值,那麼返回值則不能作為左值使用

變數名:

變數名實際是一段連續儲存空間的別名。程式通過變數來申請並命名連續儲存空間。通過變數的名字可以使用儲存空間。

在c++中,增加了引用的新概念,引用可看做乙個已定義變數的別名。引用的語法:type &name = var;普通引用在引用時必須用其它的變數進行初始化

引用作為變數的別名而存在,在某些場合可代替指標。引用相對於指標來說有更好的可讀性和實用性。引用作為函式引數宣告時不進行初始化。

const引用:

在c++中可宣告const引用,const type &name = var,const引用讓變數擁有唯讀屬性。

當使用常量值對const引用進行初始化時,c++編譯器會為常量值分配儲存空間,並將引用名作為這段空間的別名。使用常量初始化const引用後將生成乙個唯讀變數

引用在c++的內部實現就是乙個常指標。c++在編譯過程中使用常指標作為引用的內部實現,因此引用所占用的空間大小與指標相同。從使用的角度,引用會讓人誤會其只是乙個別名,沒有自動儲存空間。這是c++為了實用性而做出的細節隱蔽。

當函式返回值為引用時:

若返回值為棧變數;

不能成為其它引用的初始值,不能作為左值使用

若返回值為全域性變數或靜態變數:

可以成為其他引用的初始值,既可作為左值使用,也可作為右值使用。

當三目運算子的可能返回都是變數時,返回的是變數引用。當三目運算子的可能返回中有常量時,返回的是值。

C 中的引用

最近重新看c 看到些以前沒注意的dd,溫故而知新,暫且記下。引用是能自動間接引用的一種指標,即不必使用間接引用運算子 就可以得到乙個引用值。引用可以為變數起別名,它主要用作函式引數以及函式的返回型別。1 引用的定義 如 int i int j i j是i的引用。1 定義引用時,必須立即對它進行初始化...

C 中的引用

例1 int a int ra a 定義引用ra,它是變數a的引用,即別名 說明 1 在此不是求位址運算,而是起標識作用。2 型別識別符號是指目標變數的型別。3 宣告引用時,必須同時對其進行初始化。4 引用宣告完畢後,相當於目標變數名有兩個名稱,即該目標原名稱和引用名,且不能再把該引用名作為其他變數...

C 中的引用

引用是c 引入的新語言特性,是c 常用的乙個重要內容之一,正確 靈活地使用引用,可以使程式簡潔 高效。我在工作中發現,許多人使用它僅僅是想當然,在某些微妙的場合,很容易出錯,究其原由,大多因為沒有搞清本源。故在本篇中我將對引用進行詳細討論,希望對大家更好地理解和使用引用起到拋磚引玉的作用。一 引用簡...