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