12、引用作為函數參數聲明時不進行初始化
13、const引用 在C++中可以聲明const引用 const Type& name = var; const引用讓變量擁有只讀屬性 當使用常量對const引用進行初始化時,C++編譯器會為常量值分配空間,并將引用名作為這段空間的別名 const int& b = 1; int *p = (int *)&b; *p = 5;使用常量對const引用初始化后將生成一個只讀變量
14、引用有自己的存儲空間,32位機是4個字節,64位機是8個字節 引用在C++中的內部現實是一個常指針 Type& name == Type* const name C++編譯器在編譯過程中使用常指針作為引用的內部實現,因此引用所占的空間大小與指針相同 從使用的角度,引用會讓人誤會其只是一個別名,沒有自己的存儲空間。這是C++為了實用性而 做出的細節隱蔽。 void f(int& a) { a = 5; } void f(int * const a) { *a = 5; }15、當函數返回值為引用時 (1)若返回棧變量 不能成為其他引用的初始值 不能作為左值使用 (2)若返回靜態變量或全局變量 可以成為其他引用的初始值既可作為右值使用,也可作為左值使用
16、C++中引用的本質是一個指針常量新聞熱點
疑難解答
圖片精選