求教: 关于c++的语法问题
int a=0;
int* & b = &a
以上为什么不对呢
[解决办法]
因为非const引用不能加在临时变量上。
要int * const & b = &a;
[解决办法]
&a 返回的是一个指针的值,是一个临时变量,你不能取它的引用。
[解决办法]
因为非const引用不能加在临时变量上。
=================
防止出现reference的对象不一致
[解决办法]
taodm "要int * const & b = &a; "这个用法是什么意思呢?看不懂啊,指点一下!
谢谢!!
[解决办法]
&a的生命周期应该仅在这一条语句
所以非const引用不可
[解决办法]
C++primer上面找,详细讲,呵呵^_^okokok
[解决办法]
int a=0;
int* & b = &a
是因为A是在栈中分配的局部变量,你可以在堆中分配变量对其引用.
如:
int *a = new int(0);
int *&b = a;
[解决办法]
taodm真牛!在下不才,稍作解释:
int * & b的含义是:reference to pointer to int. &a是a的地址,是个常量,根据cv规则,指向常量的引用必须用const修饰,即:int * const & b,意为:reference to const pointer to int.