采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
p指向的是a的地址,让*p=12,此时有两种疑问,第一种,*p=12修改的是p指向的地址(也就是a的地址),因为const cast 去掉了a的const属性,所以a的值可以改变,但是这样的话a的值就不应该是10了,应该是12,第二种疑惑,因为a的值没有改变,而且a的地址和p指向的地址相同,所以可以推断出p还是指向a,那么如果是这样的话*p=12,12的地址并不在a的地址,那么12的地址在哪里
请将你的代码截图弄清晰点,无法看清整体,谢谢。
修改过了,现在可以看清吗
指针p指向a的位置,p修改值时a的值会变;但是根据const的要求,如果你打印a的值则会保证其赋值时的值,但真实的内存信息已变。至于为什么打印的值不变,你看看汇编代码就明白了。
登录后可查看更多问答,登录/注册
一部大片,一段历史,构建C++知识框架的同时重塑你的编程思维
1.3k 12
1.2k 12
1.4k 10
1.2k 9
1.1k 9