[語法] remove_if刪不掉元件
請問,像這樣的結構
class a{
public:
a(int vID):ID(vID){}
int ID;
bool operator==(const a& va)const{return ID==va.ID;}
};
class Tru_a{
public:
list<a> Load;
void add(a new_a){Load.push_back(new_a);}
a GetNowOB(int vID){
list<a>::iterator cviter=
find_if( Load.begin(),Load.end(),FindOBByID(vID));
return *cviter;
}
void del(int vID){
a b=GetNowOB(vID);
Load.remove(b);
//remove_if(Load.begin(),Load.end(),FindOBByID(vID));
}
class FindOBByID{
public:
FindOBByID (int val):_value(val){}
bool operator()(a& lhs){ return (lhs.ID == _value);}
int _value;
};
};
在del的那個函數中,若把黃色程式碼註解掉,用紫色的,就無法刪掉元件
若用黃色的則可刪除,黃色的為什麼刪得掉我想我能理解
但紫色的部份是為什麼呢?麻煩回答,謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 163.18.48.28
→
10/25 16:42, , 1F
10/25 16:42, 1F
→
10/25 16:43, , 2F
10/25 16:43, 2F
→
10/25 17:45, , 3F
10/25 17:45, 3F
→
10/25 17:46, , 4F
10/25 17:46, 4F
→
10/25 19:27, , 5F
10/25 19:27, 5F
→
10/25 21:11, , 6F
10/25 21:11, 6F
→
10/25 21:36, , 7F
10/25 21:36, 7F
→
10/25 21:37, , 8F
10/25 21:37, 8F
→
10/25 21:43, , 9F
10/25 21:43, 9F
→
10/26 14:31, , 10F
10/26 14:31, 10F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章