关于const的一个问题
来源:百度知道 编辑:UC知道 时间:2024/06/27 04:46:38
#include<iostream>
using namespace std;
int main(){
int ic;
const int &i=ic;
i++;
}
哪位给我讲一下const int &i=ic;的意思 它是将i搞成CONST啊还是将 i的地址搞成CONST啊 下面I++是不合法的 那就应该是说将I搞成常量 可是为什么加&呢啊 大侠说一下把 谢谢
那我直接定义成const int i=ic;不是更直观嘛 非要加那个&干吗 有什么特殊意思吗
using namespace std;
int main(){
int ic;
const int &i=ic;
i++;
}
哪位给我讲一下const int &i=ic;的意思 它是将i搞成CONST啊还是将 i的地址搞成CONST啊 下面I++是不合法的 那就应该是说将I搞成常量 可是为什么加&呢啊 大侠说一下把 谢谢
那我直接定义成const int i=ic;不是更直观嘛 非要加那个&干吗 有什么特殊意思吗
#include<iostream>
using namespace std;
int main(){
int ic;
const int &i=ic;
i++;
}
const int &i=ic; 这个的意思是:
定义ic的一个引用i,并且这个为指想常量的引用
所以执行i++就会抱错
C/c++里面 规定在变量名前+'&'就是定义一引用类型
再来跟你说说引用吧
引用最主要的特征
1.引用一定要有源
比如 int &a; 这样是错误的 int b; int &a=b; 这样是对的
原因是引用是一个变量的别名:
打个比方:
一个人原名叫周杰伦,小名叫二狗子,坐在教室的第3排第2个
我们喊周杰伦或者二狗子或者第3排第2个的哪个都能找到它
在这里周杰伦<变量名>二狗子<引用> 3排第2个<指针>
一但这个人挂了,二狗子就没有任何意义了,但是 3排第2个的哪个位子还
存在,所以引用在定义的时候一定要跟它找个源就是说你跟一个人起小名的时候,你心里一定要知道跟谁起.
2.引用不能改变它的引用指向;
就是这样是错误的:
int a=2,b=2; int &c=a; c=&b;&c=&b;都是错误的
意思就是说,当周杰伦的小名叫二狗子,他一生都要叫二狗子,并确二狗子这个小名不能被其他人叫.
3引用和指针的区别:
引用可以相当于一指针常量
一个变量的引用可以永远的表示这个变量,而指针只是临时的表示这个变量,一但指针值发生变化,它就和这个变量没关系了
引用的好处:稳定,所以传参数有引用传参<对象一般都是这样传的>