Я знаю, что в стандарте C++ 14 возможно использовать ключевое слово auto при указании типа аргумента.
Но мне не понятно, по каким правилам это работает?
Функция будет работать как шаблонная?
В C++14 auto при описании типа аргумента можно использовать только в лямбда-выражениях. И да, эффект такого использования auto фактически сводится к тому, что метод operator () соответствующего функционального объекта станет шаблонным методом.
Т.е.
[](auto x) { return x + 1; }
порождает лямбда-класс, выглядящий примерно как
struct Lambda123 {
...
template <typename T> auto operator ()(T x) const { return x + 1; }
...
};
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости