Показать сообщение отдельно

  #11  
Старый 01.11.2009, 17:46
Ra$cal
Постоянный
Регистрация: 16.08.2006
Сообщений: 640
С нами: 10386906

Репутация: 599


По умолчанию

Код:
#include <iostream>
#include <vector>
#include <boost/bind.hpp>
#include <boost/foreach.hpp>
#include <functional>
#include <algorithm>

using namespace std;

int main()
{
	vector<int> elements;

	elements.push_back(1);
	elements.push_back(2);
	elements.push_back(3);
	elements.push_back(4);
	elements.push_back(5);

	int del_element = 3;

	cout << "before remove:";
	BOOST_FOREACH(int val, elements) cout << " " << val;

	vector <int>::iterator new_end = remove_if(elements.begin(), elements.end(), 
            boost::bind(std::equal_to<int>(), _1, del_element));
	elements.erase (new_end, elements.end( ) );

	cout << "\nafter remove: ";
	BOOST_FOREACH(int val, elements) cout << " " << val;

	cout << '\n';

	system("pause");
}
вариант удаления юзая boost и stl(без циклов, описанных вручную, что имхо гораздо нагляднее и быстрее понимается).

Последний раз редактировалось Ra$cal; 01.11.2009 в 17:48..
 
Ответить с цитированием