Пожалуйста, объясните передачу decltype() в std::set как компаратор [дубликат]C++

Программы на C++. Форум разработчиков
Anonymous
 Пожалуйста, объясните передачу decltype() в std::set как компаратор [дубликат]

Сообщение Anonymous »

Я искал информацию об использовании std::set с компаратором и нашел этот ответ: https://stackoverflow.com/a/46128321/22783134
Пожалуйста, объясните это фрагменты кода:

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

auto cmp = [](int a, int b) { return ... };
std::set s;

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

auto cmp = [](int a, int b) { return ... };
std::set s(cmp);
Почему в аргумент шаблона передается только лямбда типа cmp?
Upd: я имею в виду, как устанавливается из первого примера вызывает функцию cmp, если ей передан только тип cmp, а не сама функция?

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

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