http://codepad.org/twicEudY
我对参考的概念还停留在 它是一个变量的别名 可以当参数传递(call by reference)
可以有多个回传值的效果等等
可是我看不懂把一个函式当成参考回传的意思
如果接收的人是宣告成参考 counter &a =++i; 以正常来看很好了解 a等于i(itsval+1
的i)了 而且两者的位址相同
不过这程式的要求仅仅是把itsval的值复制给新的物件a 但是我不知道要如何去解读它
const counter& counter::operator++()
{
++itsval;
return *this;
}
作者:
s89227 (Kei)
2014-12-05 02:42:00这应该是operator overloading的用法吧?
是吧 但有什么跟一般函式不一样的地方吗?纯粹只是把++当成函式名称在使用吧?
作者:
LPH66 (-6.2598534e+18f)
2014-12-05 06:26:00跟传参数的意思一样啊, 外面看到的回传"物件"就是里面这个运算所得到的物件, 在此就是指自己本身
那为什么有时候接收者可以宣告成参考有时不用(像现在)
作者:
purpose (秀才遇到肥宅兵)
2014-12-05 12:38:00就意图不同啊,如果 counter a= ++i; 这样,就是有两套实体,这样 const counter& a= ++i; 则只有一个实例
作者:
s89227 (Kei)
2014-12-05 17:45:00效果一样但是用到的资源量不一样呀!今天 一个int 和 一百万个int,by value和by reference差很多
我找了不同书看 发现有很多不同的观点我先看看再发问好了 谢谢