Синтаксис шаблонов C ++ с параметрами функций

Я привык видеть синтаксис, подобный этому для указателей функций

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 поддерживается усовершенствованиями основных языков. У типов аргументов шаблона были расширены, чтобы разместить приспособлеемость?

15
задан 眠りネロク 25 September 2017 в 11:55
поделиться