首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

关于const与引述

2013-06-26 
关于const与引用?ClassAGet()const{return ma}// OK ClassA&Get()const{return ma}// error本人菜鸟,求

关于const与引用?
ClassA  Get()  const
{
return ma;
}// OK

 ClassA&  Get()  const
{
return ma;
}// error

本人菜鸟,求权威解释= =!
还有能不能有大侠解释一下const究竟应用与什么情况?
搞了半天只明白const是申明常量用...
[解决办法]
ClassA  ClassX::GetLength() const

 return m_nLen;//访问对象照常  读了ClassX::m_nLen
}

ClassA  ClassX::SetLength(int newLen) const
{
 m_nLen=newLen;//不要修改对象  写入ClassX::m_nLen
 return m_nLen;
}
可见只读的方法比较安全,一般不改变成员的功能都设计成只读吧
[解决办法]
所以SetLength()须把const去掉

 int& GetElmt(int idx){return 全局元素;} GetElmt(3)=77;//函数返回引用可作左值或右值
 int& Max(int& a,int& b){return a>=b?a:b;} Max(x,y)++;

至于引用,这是两个当左值被修改的例子,7楼是只读,而引用则反其道而行之
[解决办法]
7楼误粘了返回值类型,你看的时候先别管返值类型
[解决办法]
函数 后面加上const 代表不能改变返回值。

热点排行