Const指针和引用的混合使用.docVIP

  • 0
  • 0
  • 约3.38千字
  • 约 7页
  • 2020-06-13 发布于湖北
  • 举报
?C++的那点事,const,指针和引用的混合使用 对于学习Java或者C#的程序员来说,学习C++的时候,大概看到那些使用const int* a之类的当参数时都会蒙了吧·· 老实说,尽管当时我觉得自己C++书都看差不多了,学得也可以,但实际上,看到const,*,的混合使用时,我也蒙了。 这篇文章就我自己的一些看法来谈谈不同的混合方式都有什么作用。 没有const的时候。 没有const时,也就是*和的混合使用。这里又分是当取地址运算符或者是引用运算符两种情况,怎么区分是取地址还是引用呢? 很简单,如果之前没有类型就是用作引用,否则就是当取地址符。例如:int 这是引用,int* p = a 这是取地址。 1.是取地址时: ? 这种情况在谭浩强的C++程序设计里面有说明 P168 如果有int* p = a;那么?*p?是什么含义呢? 由于和*的优先级都为3,但按自右至左方向结合。所有*p = (*p) = a = p,也就是a的地址 下面程序的输出结果是一样的。 ? 那么?*a?的含义呢?同样可以分析,*a = *(a) = *p = a,也就是说,*a与a等价。 同样的,下面程序的输出结果是一样的。 2.是引用时: ? 这种情况大多出现在函数形参里,当初也是这种情况把我搞混了。 例如如果一个函数的形参是?int* p?,那么它代表的是什么意思,又有什么作用呢? 可以这样理解

文档评论(0)

1亿VIP精品文档

相关文档