test:
int val = 10;
const int &refVal = val;
val = 12;
在这里有个疑问,val是非const,refVal是const类型的,修改val的值,对应的refVal的值也改变了。这里怎么理解呢?
谢谢回答。
------解决方案--------------------
const int &refVal只是限定不能通过refVal去修改内存中的值,但是可以通过其他途径去改变内存中的值啊
------解决方案--------------------
如一楼说的。
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char** argv)
{
int value = 10;
const int*p = &value;
printf("%d\n", *p); // 10
int* q = &value;
*q = 100;
printf("%d %d\n", value, *p);
return 0;
}