f
функционалдық объектісін, ал екінші параметр ретінде оны-
мен түйістірілетін
value
мəнін қабылдайтын функциялардың үлгілері ретінде
жүзеге асырылған. Функцияны шақыру нəтижесі функционалдық объект бо-
лып табылады, ол
f
кіріс объектісінен оның екінші немесе бірінші аргументіне
value
мəнін «орналастыру» арқылы құрылады.
Қайтарылатын функционалдық объектінің типін сипаттау үшін кітапханада
binder2nd
жəне
binderlst
кластарының шаблондары анықталған. Төменде
байланыстырғыштардың шаблондары көрсетілген:
template
binder2nd<0p> bind2nd(const Op& op, const T& x);
template
binderlst bindlst(const 0p& op, const T& x);
Мұндағы
Op
– функционалдық объектінің типі,
Т
– түйісетін мəннің типі.
Мысалы, бүтін сандық жиымның 40-тан кіші элементтерінің санын
анықтау керек болсын делік:
#include
#include
#include
using namespace std;
int main(){
int m[8] = {45, 65, 36, 25, 674, 2, 13, 35};
cout << count_if(m, m + 8, bind2nd(less(),40));
return
0;
}
Бұл программада элементтер санын есептеу үшін стандартты кітапхананың
count_if
алгоритмі (375 б. қараңыз) қолданылады. Оны пайдалану үшін
тақырыптық файлын іске қосу керек.
count_if
үшін алғашқы
екі параметр ретінде өңделуші тізбектің басы мен соңын анықтайтын ите-
раторлар алынуы керек. Жиымтың итераторлары ретінде оның элементіне
нұсқауыштар қолданылады.
count_if
функциясының үшінші параметрі
бинарлы функция немесе функционалдық объект болуы керек.
0p>
Достарыңызбен бөлісу: |