Раздел «Образование».FIVTLecturesTerm2Lecture11:
<<Лекции ФИВТ, 2-й семестр

Следующая лекция?
Предыдущая лекция

Лекция 11. Функторы bind1st и bind2nd

Функтор bind2nd

#include <algorithm>
#include <functional>
#include <iostream>
#include <iterator>
#include <vector>

using namespace std;

int main(void)
{
  const int FROM = 0, TO = 10, ITEM = 5;
  const int SIZE = TO - FROM + 1;
  vector<int> v(SIZE);
  for (int i = FROM, j = 0; i <= TO; ++i, ++j)
    v[j] = i;
  random_shuffle(v.begin(), v.end());
  copy(v.begin(), v.end(), ostream_iterator<int>(cout, " "));
  cout << endl;
  copy(v.begin(), remove_if(v.begin(), v.end(), bind2nd(greater<int>(), ITEM)),
       ostream_iterator<int>(cout, " "));
  cout << endl;
  return 0;
}

-- ArtemVoroztsov - 04 May 2010