小白求问关于类成员函数const T& 和T&的区别

weixin_37704257 weixin_37704257 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
在github上下代码自己看看学习,发现相当一部分代码都会有如下情况:
Point& Map::getPoint(const Pos &p) {
return content[p.getX()][p.getY()];
}

const Point& Map::getPoint(const Pos &p) const {
return content[p.getX()][p.getY()];
同名函数,写了两遍,一遍是const T&,一遍是T&。
想问一下这么做的理由是什么?
另外,返回的reference是const reference(引用不变)还是const_reference(引用所指的量不变)
还有就是,始终不是很懂,函数体前的const的作用。搜了一下,和对象有关但有点乱,没弄懂。希望大神能推荐几篇文章读一读(最好有示例,纯理论真的很懵)

感谢大神了!
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
weixin_37704257
新手乐园 33,315 成员 41,769 内容