提问:int x; const int &rx=x; int * constpx=&x;以下语句正确的是
网友回答:
若有 int x; const int &rx=x; int * const px=&x;则以下语句正确的是:
*px=50;
解析:int * const px=&x; 则px指向x的地址为常量地址,不能改变,所以px=50;是错误的;但此地址中的内容却是可以改变的,即*px=50;是正确的。
const int &rx=x; rx 是 x 的一个引用 x 是一个变量,而 rx 虽然是 x 的别名,它表示的是一个常量;可以改变 x 的值,而不能通过对 rx 的赋值语句而改变其值;所以 rx=50;是错误的,而&rx=50,为语法错误。