нкцией #include #i

Автор admin Понедельник, 25 мая 2009 11:32

нкцией #include #include #include functional> linclude #include #include using namespace std; int d[] = { 123. 94. 10. 314. 315 }: const int DSZ = sizeof d / sizeof *d; bool isEven(int x) { return x % 2 == 0; } int mainO { vector vb; transformed, d + DSZ. back_inserter(vb). not 1 (pt rf un (i s E ven))); copy (vb. beginO. vb.endO. Объекты функций 275 ostream_iterator(cout. ” “)); cout « endl: // Результат: 10 0 0 1 } III:- Мы не можем просто передать адаптеру notl функцию isEven, потому что адаптеру необходимо знать фактический тип аргумента и возвращаемого значения. Адаптер ptr_fun() определяет эти типы по аргументам шаблона. Определение унарной версии ptr_fun() выглядит примерно так: template pointer_to_unary_function ptr_fun(Result (*fptr)(Arg)) { return pointer_to_unary_function(fptr); } Как видите, эта версия ptr_fun() определяет типы аргумента и результата по fptr и использует их для инициализации объекта pointer_to_unary_function, в котором хранится fptr. Оператор вызова функции об


Комментарии закрыты.