这两个定义不同的函数的区别? T& elem(const int i,const int j); T elem(const int i,const int j) const;

lemonfuture 2009-02-26 05:37:38
有谁知道下面这两个函数的根本区别吗?
我对这两个函数采用这两种不同的定义,有什么目的不是很清楚,希望有那位高手解释一下。
非常感谢!


double& elem(const int i,const int j);

double elem(const int i,const int j) const;
...全文
85 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lemonfuture 2009-02-26
  • 打赏
  • 举报
回复

谢谢大家,不过我感觉好像不够全面。
比如这两个函数要是一个类中的两个函数,在调用这两个函数时,应该注意什么呢?
waterbao 2009-02-26
  • 打赏
  • 举报
回复
同意楼上的说法
hackers007 2009-02-26
  • 打赏
  • 举报
回复
常量成员函数和非常量成员函数的区别
常量成员函数在函数内不可以对成员变量或者参数进行修改操作OK
xwmr1988 2009-02-26
  • 打赏
  • 举报
回复
就我的理解程度只能做一下解释,只供参考。
根本区别:double& elem(const int i,const int j)可以做左值(即该函数可以写在等号左边,被赋值)。而double elem(const int i,const int j) const只能做右值了

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧