1.引用本身不是物件,只是引用物件的別名,沒有記憶體空間產生
2.引用必須嚴格型別匹配
3.而常量引用 const t& 可以引用字面值常量及表示式 其實也就是右值,且常量引用的不同與t型別物件時,如果可以型別轉換則會型別轉換為t型別常量引用,不過會產生臨時變數(c++ primer):
code:
double d=25.0;
const int& a=d;
implicit code:
double d=25.0;
const int temp=d;
const int& a=temp;
所以常量引用時如果出現自動型別轉換就要得注意臨時變數作用域了,以下是衍生到模板顯示呼叫時可能出現的問題
#include #includetemplate
inline
const t& max(const t& a,const t&b)
intmain()
引用,指標,常量引用,常量指標,指標常量的區別
1.指標 指標代表乙個變數的位址 例如 int a 2,b 1,pi a pi b 2.引用 引用即針對乙個變數的別名,引用必須被初始化,引用作為引數 形參 時,不會像指標一樣使用儲存單元,更不會像值傳遞一樣建立該引數的副本,提高空間 時間效率。例如 int a 2,b a 3.常量引用 格式為 c...
常量和引用
溫習c 至引用部分,做如下整理。用於修飾變數,表明不能修改。常用於修飾函式引數和普通變數。常問的點有指標常量和常量指標。指標常量 int const p 表明指標p是乙個常量,指向乙個int行變數。int a int b int const p a p b 指標p不可修改常量指標 const int...
c 的引用 常量引用
c 中的引用不用考慮太多解引用的東西 include using namespace std void func int ref intmain 在c 中,int ref a等價於int const ref a,也就是說ref直接存的是a的位址。但是實際上想要對ref的值進行修改的話,是不需要解引用...