作者noblebell (高贵的铃)
看板EE_DSnP
标题[问题]hw5 array的两种operator overload *
时间Tue Dec 1 22:54:10 2009
如array.h的程式码:
34 const T& operator * () const { return (*this); }
35 T& operator * () { return (*_node); }
请问如果使用者*it (Array::iterator it)时,会呼叫那一个函数?
是不是电脑会自动根据,欲assigned变数的型态来决定呼叫那一个函数?
例如:
const T& a = *it --------呼叫 const T& operator * () const{}
T& a = *it --------呼叫 T& operator * () {}
谢谢回答~
--
我即使想凭着"浩然正气"写程式也不能....因为.....
我只有"一股傻气".......囧
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.251.6
※ 编辑: noblebell 来自: 140.112.251.6 (12/01 22:55)
1F:推 a3785lexx:我记得自己测试的结果跟你的猜想好像差不多 12/02 01:10
2F:→ a3785lexx:另外return *this好像怪怪的...最少我改掉了XD 12/02 01:11
3F:→ a3785lexx:欧我懂了哈哈XD 12/02 01:11
4F:→ noblebell:我还没改XDD 12/02 12:40
5F:推 rockyai:没错,会根据assign的变数呼叫 12/02 16:03
6F:→ noblebell:哦~谢谢楼上。另外可以请问三楼什麽新发现吗? >//<" 12/02 17:36