作者CocoGrisp (快腿正姊抠抠李玟)
站内EE_DSnP
标题[问题] overloading *
时间Tue May 13 15:54:16 2008
想请问老师要我们 overload *
给了两个形式
其中一个是 const method const T& operator * () const {}
另外一个是 T& operator * () {}
为什麽要两种呢 ?
想不太出来会有哪两种不一样的情况呼叫到 "*"
如果只是 dereference 的话
应该都不会改到原本 iterator 的资料吧
烦请老师或同学们指点了
谢谢
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.244.29
※ 编辑: CocoGrisp 来自: 140.112.244.29 (05/13 15:54)
1F:推 GriffeyKao:看起来一个是在左边呼叫 另一个在右边呼叫 05/13 16:13
2F:→ GriffeyKao:例如 int* p; int a = *p; *p = 10; 这样不知对不对? 05/13 16:14
3F:推 bnsblue:茪W说得没错 05/13 17:26
4F:→ bnsblue:楼上↑XD怎麽会出现乱码 05/13 17:27
5F:推 danielko:记得老师说const的version比较快? 05/13 17:30
6F:→ danielko:所以compiler在可以选的时候会先用 05/13 17:31
7F:→ CocoGrisp:thx ! 05/13 17:36