Re: overload operator < 來排序
※ 引述《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
→
04/03 14:30, , 1F
04/03 14:30, 1F
討論串 (同標題文章)