0
我想知道如何根據條件從列表中刪除對象。如何使用remove_if擦除
經過研究,這是我得到的,但它仍然行不通!
所以我想知道如何使用remove_if
擦除。
Class A
{
public:
A(int x,int y);
int x;
int y;
};
int main()
{
list<A> listA;
A lista1(123,32);
listA.push_back(lista1);
A lista2(3123,1233);
listA.push_back(lista2);
A lista3(123,4123);
listA.push_back(lista3);
//HERE HOW TO REMOVE LIST if x = 123?
listA.erase(remove_if(listA.begin(),listA.end(),/*REMOVE CRITERIA*/);
}
你好,謝謝你的回覆!所以你說我應該超載我的A類操作符()? – mister
不,RemoveIfX是一個獨立的幫助器類。蘭姆達斯現在通常更受歡迎,因爲它們更簡潔。如果您使用的編譯器不支持它們,我給出了兩個選項。 –
我想知道更多關於lambda方法的信息(我嘗試過,但只用g ++ 4.4.1得到了編譯錯誤)。 – Walter