Информация об изменениях

Сообщение Re[6]: operator* для enum class от 23.09.2021 21:29

Изменено 23.09.2021 21:37 rg45

Re[6]: operator* для enum class
Здравствуйте, B0FEE664, Вы писали:

BFE>Синтаксический сахар. Это как с лямбдами — и до них можно было всё тоже самое, но введение нового синтаксиса сильно упростило применение функций из <algorithm>.


А вот не совсем все. Когда ты определяешь лямбду внутри функции с параметром auto, ты фактически определяешь локальный класс с шаблонным оператором operator(). На обычных классах это сделать невозможно, потому что определение шаблонов внутри функции (любых) запрещено.
Re[6]: operator* для enum class
Здравствуйте, B0FEE664, Вы писали:

BFE>Синтаксический сахар. Это как с лямбдами — и до них можно было всё тоже самое, но введение нового синтаксиса сильно упростило применение функций из <algorithm>.


А вот не совсем все. Когда ты определяешь лямбду внутри функции с формальным параметром auto, ты фактически определяешь локальный класс с шаблонным оператором operator(). На обычных классах это сделать невозможно, потому что определение шаблонов внутри функции (любых) запрещено.