int main(void) {
[_=&*+[]{}](){}();
}
Как расшифровать этот код?
Давайте перепишем это так
( // для красоты
[
_ = &*+[]{}
](){}
) // для красоты
(); // вызываем лямбду
Теперь все будет понятно, кроме содержимого квадратных скобок - _ = &*+[]{}
. Этот синтаксис появился с 14 плюсов. Здесь подчеркивание - это имя переменной (как не удивительно). А справа от равно - функция. Плюсик делает с лямбды обычную функцию. Ну а звездочка и амперсанд взаимно уничтожаются. Неверится? Перепишите вот так
(
[
_ = &*+[]{}
](){std::cout << typeid(_).name();}
)
();
И в случае gcc увидите PFvvE
, что значит void (*)()
Ну что, я взят?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Создаю custom post type в wordpress и категории для него: