Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > как стереть из list???


Автор: Гость_гость 9.1.2005, 19:51
Здравствуйте! Пытаюсь стереть из list:

class Car
{
. . .
int iPrice;
string sColor;
string sName;
}


void main()
{
list<Car> myList;

// заполняю list

. . .

1.Как стереть все объекты у которых скажем sColor = "red" и iPrice = "10000" ?
2.Как стереть один конкретный объект?

}



Автор: azesmcar 10.1.2005, 15:28
remove_if, remove, erase...
маленький пример...
Код

#include <algorithm>
#include <string>
#include <list>

using namespace std;

class Car
{
public:
   Car()
   {

   }
   int iPrice;
   string sColor;
   string sName;
};


bool check ( const Car& T )
{
  return ( T.sColor == "red" && T.iPrice == 1000 );
}

int main(int argc, char* argv[])
{
   list<Car> myList;
   //...Заполнение листа
   remove_if(myList.begin(), myList.end(), check);
   myList.erase(myList.begin());
   return 0;
}


И не забудь в классе public: добавить или переделай в структуру...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)