- 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?,那么它代表的是什么意思,又有什么作用呢?
可以这样理解
您可能关注的文档
- android中列表视图listview与simplecursoradapter适配器.pptx
- android中列表视图listview与simpleadapter适配器.pptx
- android中列表视图listview的补充材料.pptx
- android中取得bitmap对象缩略图的方法.pptx
- android中属性动画的基本用法之animator监听器.pptx
- android中列表视图listview与arrayadapter适配器.pptx
- android中完成“扣篮瞬间动画”的操作步骤及核心代码详解.pptx
- android中实现定制化的spinner.pptx
- android中动画框架的基本原理.pptx
- android中属性动画的基本用法之objectanimator.pptx
- 2026年纺织服装行业市场趋势及竞争策略报告.docx
- 汽车塑料管及隔音材料等配件生产项目可行性研究报告模板-立项拿地.doc
- 汽车电机零部件自动化产线提升改造项目可行性研究报告模板拿地备案立项.doc
- 2026年纺织服装行业消费趋势与市场前景报告.docx
- 2025-2026学年小学英语3A香港朗文版教学设计合集.docx
- 铅锌银矿年开采33万吨铅锌矿石及选矿项目可行性研究报告模板拿地备案立项.doc
- 2026年锂电池行业技术发展趋势及市场前景分析.docx
- 2026年环保产业绿色发展模式与市场机遇研究报告.docx
- 2026年新材料行业ESG评级提升与产业升级.docx
- 2026年电子黑板行业市场细分领域应用前景研究报告.docx
原创力文档

文档评论(0)