作者adrianshum (Alien)
看板Programming
标题Re: Pointer function in C++
时间Thu Apr 17 18:20:26 2008
※ 引述《sorryChen (陈扬和)》之铭言:
: 也许也有人用过function pointer..
: 比如说写一个sort 希望能sort 各种型态的资料
: 然後把Comparison 的function用function pointer的方式传进去
: 我的问题是,如果我的comparison function其实是某个class 的member function
: (需要用到这个class的变数的值才能判定
: 比如说要排序的是每个人的财产 财产这个class中有美金 台币..等
: 这个物件定义了一个函数,比较总身价,其中计算身价=美金*汇率(物件变数) +台币
: 这时候要call 写好的sort 要把比较的这个函数pointer传进去
: 这有可能吗..pointer传进去的时候..还需要用到this->汇率..
: 不知道有没有大师想做过相似的事情
通常分开两样东西传:
一个 function pointer, 一个 pointer to target object
大部份的 API 做的都是让你传 non-member function, 加 pointer to obj.
然後你自己写一个 static method 传为 callback, 在 static method
中做 objPtr->myFunc();
你也可以看看 pointer to member function 怎麽做. 不肯定合不合你的
用途
http://www.goingware.com/tips/member-pointers.html
Alien
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 202.155.236.82
1F:推 sorryChen:感谢大师回答(目前还没试出来) 128.125.87.33 04/18 13:19