гическая функция !(бинарный_пр
Автор admin
Понедельник, 25 мая 2009 11:32
гическая функция !(бинарный_предикат(агд1, arg2) Адаптируемые объекты функций Стандартные адаптеры (такие как bindlst() и bind2nd()) делают определенные допущения относительно обрабатываемых объектов функций. Вернемся к выражению из последней строки программы CountNotEqual.cpp: notl(bindlst(equal_to(). 20)) Адаптер bindlst() создает унарный объект функции типа binderlst, который просто сохраняет экземпляр equal_to и значение 20. Однако функция binderlst::operator() должна знать тип своего аргумента и возвращаемого значения, иначе она не может иметь нормального объявления. Как решается эта проблема? Предполагается, что каждый объект функции предоставляет вложенные определения для этих типов. Для унарных объектов функций используются имена типов argument_type и result_type, а для бинарных объектов функций — имена first_argument_type, second_argument_type и result_type. В этом нетрудно убедиться, просматривая реализацию bindlst() и binderlst в заголовке . Начнем с bindlst() в типичной реализации библиотеки: template binderlst<0p> bindlst(const 0p& f. const T& val)
Комментарии закрыты.
Последние комментарии