Re: [問題] stl priority_queue less<MyClass*> ?
boost library先放著,以後有空再去熟悉>"<
我的寫法:
struct TestArg3 {
bool operator()(MyClass * c1, MyClass * c2){
return a->x < b->x;
}
};
傳入priority_queue,如下:
priority_queue<MyClass*, vector<MyClass*>, TestArg3 > test;
就ok了
程式功力不夠厚,老實說對template還不是太熟悉…
參考less的原始碼,
struct less : public binary_function<_Ty,_Ty,bool>
拿掉後面的繼承好像也沒事
那些const有的沒的 也有點不求甚解…
也不是很懂為何operator()要包在struct裡,
估計應該是要傳typename _Py給priority_queue…
就估且當做固定寫法吧>"<
不管怎樣,至少解決我的問題了:p
感謝大家的回答!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.109.22.10
→
11/26 20:23, , 1F
11/26 20:23, 1F
→
11/26 20:24, , 2F
11/26 20:24, 2F
討論串 (同標題文章)
以下文章回應了本文:
完整討論串 (本文為第 4 之 5 篇):