11问答网
所有问题
int *const &x与int *&x的区别是什么
既然有人说引用的功能其实和type * const p指针是相同的,那int *const &x中const是否可有可无??
举报该问题
推荐答案 推荐于2016-11-03
int *const &x中的const不能没有!
实际上这里可以去掉&来讨论,如果去掉&来理解,是不是明了些?
这是x的引用的类型是int*,而*后的const是用来限制变量的指向不可变,如果有,那么x指向的地址不可变,如果没有,可以改变x:
int i = 0, j = 1;
int *const &x = &i;
int * &p = &i;
x = &j; //error,x的指向不可变
*x = 2; //OK
p = &j; //OK
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://11.wendadaohang.com/zd/S77qMM7v.html
其他回答
第1个回答 2008-03-19
1L说的对的,我再试着说个更好的理解吧.
首先提取const,看看修饰的是什么?
我们看到:它是修饰引用类型的.
引用类型修饰的什么类型?
我们看到:对应的是int *;即int 型指针.
那么来看:int *const &x:
const修饰的是一个引用,这个引用所对应(修饰)的是一个int指针类型.所以指针型引用不能修改.即x不能引用其他指针了.
第2个回答 2008-03-19
const关键字实在是神通广大
如果const出现在星号(*)的左边,指针指向的数据为常量;如果const出现在星号(*)的右边,指针本身为常量;如果const在星号(*)的两边都出现,二者都是常量。
相似回答
int
*const
&x与int
*&x的区别是什么
答:
这是x的引用的类型是int*,而*后的const是用来限制变量的指向不可变
,如果有,那么x指向的地址不可变,如果没有,可以改变x:int i = 0, j = 1;int *const &x = &i;int * &p = &i;x = &j; //error,x的指向不可变 x = 2; //OK p = &j; //OK ...
大家正在搜
static和const区别
const和define的区别
const与var的区别
let与const区别
const int n
const int *p
int和unsigned int
const int a
c语言const int
相关问题
int *const &x与int *&x的...
const int &x和int const &x有何区别?...
int f(int x)是什么意思
const int *p和int * const p的区别
c.语言问题 int x与int *x 的区别
(int *)x和int (*x)的区别
int*& x和int* x有什么区别么 int*& x是什...
const int和int 的区别