Я привык видеть синтаксис, подобный этому для указателей функций
int (*pointer_name) (float, char *);
void call_function (void (*)(int), int);
в некоторых функциональных библиотеках C ++ 03, которые я вижу, которые я вижу, используемые таким образом :
abc::function<void(*)(int,float)> f;
в C ++ 11's STD :: Функция
Я вижу тип, приведенный таким образом
std::function<void(int,float)> f;
, существует отсутствует (*)
. Почему?
Функция C ++ 03
имеет T
, который является идентичным типом к соответствующему указателю функции. Легко представить реализацию.
Функция STD ::
в C ++ 11 поддерживается усовершенствованиями основных языков. У типов аргументов шаблона были расширены, чтобы разместить приспособлеемость?