指针和引用的自增(++)运算意义不一样?

怎么个不同法?请举例说明... 怎么个不同法?请举例说明 展开
 我来答
要赶海的川子1B
2014-01-20 · TA获得超过809个赞
知道小有建树答主
回答量:274
采纳率:0%
帮助的人:251万
展开全部

指针是对内存地址的自增

引用是对值的自增


#include <iostream>
int main()
{
  int actualint[2] = {123,256};
  int *point = actualint;
  int &otherint = actualint[0];
  std::cout << actualint[0] << std::endl;
  std::cout << actualint[1] << std::endl;
  std::cout << *point << std::endl;
  std::cout << otherint << std::endl;
  
  otherint ++;
  std::cout << actualint[0] << std::endl;
  std::cout << actualint[1] << std::endl;
  std::cout << *point << std::endl;
  std::cout << otherint << std::endl;
  //输出 124,256,124,124
  point ++;
  std::cout << actualint[0] << std::endl;
  std::cout << actualint[1] << std::endl;
  std::cout << *point << std::endl;
  std::cout << otherint << std::endl;
  //输出124,256,256,124
  return 0;
 }
百度网友59eb074
2014-01-20 · TA获得超过422个赞
知道小有建树答主
回答量:288
采纳率:0%
帮助的人:154万
展开全部
指针自加,比如 int a[2] = {0,10} ;int *pa =a;
pa++表示指针往后移动一个int的长度。指向下一个内存地址。及pa从指向a[0]变成指向a[1]
引用是值++;比如b是引用a[0]的,++表示a[0]的值++从0变为1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lishimin1972
推荐于2018-03-20 · TA获得超过741个赞
知道小有建树答主
回答量:391
采纳率:0%
帮助的人:454万
展开全部
int a=0;
int b=&a;
int *p=&a;
b++;相当于a++;b只是a的一个别名,和a一样使用。
p++;后p指向a后面的内存
(*p)++;相当于a++
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式