请问const引用有什么作用
我自己试了一下
int i=1;
int& const x=i;
表示可以通过x修改i的值,含义是引用是const,但是引用只能在声明的时候定义,也不能指向其他的引用了,那有什么意义呢,仍然能通过x=10来修改i的值,那么此处const是不是没有意义了呢?
而const int& x或者 int const& x,无法对引用的值进行修改,这还能理解。
另外就是类似一下函数调用中
int const& f(int const &x ),假设此函数返回的就是x,那么我应该用什么类型的变量保存结果,我用了int const&,或者int都报错。
[解决办法]
int const& y = f(x);
int z = f(x);
都可以啊,不会报错吧?
VC下没有报错
[解决办法]
引用是需要初始化的,初始化以后不能再成为其他变量的引用。所以我觉得加不加const修饰引用没什么区别。
返回值用引用的类型就可以接收。比如你这个int const& f(int const &x )函数,如果里面是return x,那就用一个int接收就行了。
引用和指针是不一样的。
[解决办法]
int& const x=i;
VS2008 报警告,并且忽略此处的const
所以这里等同于
int& x=i;
[解决办法]