затель на обычную функцию, так

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

затель на обычную функцию, так и указатель на объект функции. В первом случае алгоритм использует традиционный механизм вызова, а во втором вызывается операторная функция operator() этого объекта. Так, в примере CopyInts2.cpp в качестве предиката для вызова remove_copy_if() передавалась функция gtl5(). Кроме того, указатели на функции, возвращающие случайные числа, передавались алгоритмам generate() и generate_n(). Однако простые функции не могут использоваться с адаптерами объектов функций (такими, как bind2nd()), поскольку последние предполагают существование определений типов для аргументов и возвращаемого значения. Но вам не придется вручную преобразовывать функции в объекты функций — в стандартной библиотеке предусмотрены адаптеры для выполнения этой работы. Адаптер ptr_fun() получает указатель на функцию и преобразует его в объект функции. Он не рассчитан на работу с функциями без аргументов и может использоваться только с унарными и бинарными функциями. В следующей программе адаптер ptr_fun() преобразует унарную функцию в объект функции: //: C06:PtrFunl.cpp // Использование ptr_fun() с унарной фу


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