Синтаксис удаления C++ std::unique_ptr [дубликат]C++

Программы на C++. Форум разработчиков
Anonymous
 Синтаксис удаления C++ std::unique_ptr [дубликат]

Сообщение Anonymous »

Я пытаюсь понять, что здесь означает int(*)(FILE*). Как мне понимать этот синтаксис? Заголовок fclose — это просто int fclose(FILE* file), откуда берется (*) в аргументах шаблона?
Аналогично, используя эквивалентный decltype, почему мне нужно использовать &fclose, а не fclose?

Код: Выделить всё

int main() {
auto file = fopen("test", "w");
std::unique_ptr file_manager{file, fclose};
// or equivalently
// std::unique_ptr file_manager{file, fclose};
}
Изменить: это не повторяющийся вопрос, поскольку фокус находится на (*). Я спрашиваю, как возникает этот синтаксис, а не кто-то говорит мне, что это означает указатель на функцию. Можно было бы сказать мне, что кто-то так решил, и это вполне приемлемо.

Подробнее здесь: https://stackoverflow.com/questions/790 ... ter-syntax

Вернуться в «C++»