作者adrianshum (Alien)
看板Programming
标题Re: overload operator < 来排序
时间Fri Apr 3 10:25:11 2009
※ 引述《sorryChen (陈扬和)》之铭言:
: 感谢学长详细的解答
: 但我其实想用现成的sort..
: 现成的sort好像需要pass-in comparison function. 而且我希望这个comparison
: function 可以轻易抽换 且是根据外部的资讯轻易抽换..
: 比如说我有个array存有每个人的名子,
: 然後一个object存有每个人的数学成绩 另一个object有国文成绩 ....etc
: 我想要有个comparison的function pointer
: 指到数学成绩这个object的member function 比较两个人的数学成绩 for example
: 然後也可以指到国文成绩这个object..如果要排国文的话...
: 我不知道要怎麽写才能利用外部的资料+comparison function
: 和现成的sort..而我觉得这一定有人写过相同的问题...
: 如果用一个interface 要怎麽用呢..
我没记错的话, 现有 Std lib 里有不少都已
经有提供你所说的 'comparison function',
用来让没有提供 < operator 的东西能依一个
外来传入的 less function 来作比较 (及 sort)
可以去看看 map 怎样做法. 通常很多情况下都
不是真的喂 function pointer, 而是喂 functor
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 202.155.236.82
1F:→ sorryChen:感谢 研究当中 128.125.87.33 04/03 14:30