解引用返回的是什么

int a = 10;
int* p = &a;
那么, 解引用 *p返回的是什么呢?
(1) 会返回一个临时变量来存储值10吗?
(2) 还是返回的就是a本身?

另外:请教下解引用的的源码是什么? (解引用符号*应该是重载的*)
阅读 2.7k
2 个回答
  1. *p返回的是什么呢?——*p返回的是整型值10
  2. 会返回一个临时变量来存储值10吗?—— 不会
  3. 还是返回的就是a本身?—— 不是,返回的是a的值的copy

你把 a*p 看成是等同的就可以。

你对 *p 做赋值,实际改变的是 a。这就像是一个人有两个名字一样,本质都是同一个人。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题