MyTetra Share
Делитесь знаниями!
Лямбда функции
Время создания: 02.08.2017 17:29
Раздел: Computer - Programming - C++

/*

Пример реализации count_if через лямбда фунцию.

В качествет ретьего аргумента используется выражение

[thr](int x)

{

}

вместо вызова налогичной по смыслу функции Greater.

В квадратных скобках указываются переменные, которые

надо взять извне, т.е. из самой программы.

В качестве аргумента "х" на вход приходит

текущий элемент вектора v, выбираемый из диапозона

от начала begin(v) и до конца end(v).

*/


#include <iostream>

#include <algorithm>

#include <vector>


using namespace std;


bool Greater(int x, int thr)

{

if(x > thr)

{

return true;

}

return false;

}


int main()

{

vector<int> v {1, 3, 5, 2, 4};

int thr = 0;

cin >> thr;


cout << count_if(begin(v), end(v), [thr](int x)

{

if(x > thr)

{

return true;

}

return false;

});


system("pause");

return 0;

}

 
MyTetra Share v.0.53
Яндекс индекс цитирования