关于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 代表不能改变返回值。