int x; const int &rx=x; int * constpx=&x;以下语句正确的是

int x; const int &rx=x; int * constpx=&x;以下语句正确的是

1 个回答

沐寒微muhan72

提问: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,为语法错误。


  • 1 关注
  • 0 收藏, 浏览
  • 提出于

相似问题