作者iamivers0n (啾東)
看板C_and_CPP
標題Re: [STL ] 請問List
時間Tue Jul 14 21:22:24 2009
: template<int n> class Find_Ob_by_ID{//fun.h
: public:
: bool operator()(TP_Gra& lhs)
: {
: return (lhs.v2==n);
: }
: };
這邊可以寫成這樣:
struct Find_Ob_by_ID{
Find_Ob_by_ID(int kkk) : n(kkk) {}
bool operator()(TP_Gra& lhs)
{
return (lhs.v2==n);
}
int n;
};
用的時候就:
find_if(Token_Place.Get_First_Ob_ID(),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Token_Place.Get_Last_Ob_ID(),
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
前兩個參數記得傳iterator@@
Find_Ob_by_ID(pb->Name));
傳進去做compare的functor不一定要用template阿@@
--
▄▄▄▄▄▄▄▄▄▄▄▄ 刺槍術! ▂▅▅
▄▄▄▄● ▄▄▄▄▄ 氣刀體一致! █
你還有365塊肥皂沒撿!
▌▄▄ ▌ ▌ ▄▄▄▄▄ 一,
二,
殺~ ▃▃ ▲ 強制登入
▌▄▄ ◢◤ ▄▄▄▄ ◢█◣ ◢
▄█ █
█ █ ◢
▄█ █
▄▄ 無法登出
▌▄▄ ◤▼ ▄▄▄▄▄ █ █ █ █
◢ ▼ █ █ █ █
▅▅ 終身免費
▄▄▄▄▄▄▄▄▄▄▄▄ ◥█◤ █ █
◥◣▄ █ █ █ █▄▄ ψaappjj
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.113.94.2
推 tyc5116:嗯....我再想想...不過第一個疑問還是不知道....@@ 07/14 21:29
當然是會阿,不然傳進去就沒有意義了XD
假設傳進來的物件是Find_Ob_by_ID(1) , 物件名稱是a
那麼a(0)就是false , a(1) == true
find_if會用這當條件來判斷
※ 編輯: iamivers0n 來自: 140.113.94.2 (07/14 21:37)
推 Ebergies:你沒用到 find_if 有用到 07/14 21:36
※ 編輯: iamivers0n 來自: 140.113.94.2 (07/14 21:50)
推 tyc5116:謝謝各位的回答,雖然不是很懂,不過大概有點頭緒了.. 07/15 10:51