如題,正常情況下引用代表變量的一個別名,如:
int a = 1;
int &b = a; //ok(b是a的一個別名,兩者指向相同的內存地址)
int &c = 2;//error(不能將非常量左值引用綁定到右值2)
const int &d = 3;//ok(爲什麼常量左值引用卻可以綁定到右值3?)
求大神解答!
這樣理解會不會好一點:使用引用是爲了去改變被引用的變量: 在int &c = 2中,原意是想引用c去改變右值,而右值是一個常量,不能改變,所以錯誤了,如果右值是一個變量,就可以: 而這個const int &d = 3中,左值直接定義成了常變量,原意就是隻是想引用右值,而不想改變右值,所以右值可以直接用整數。