Recientemente me encontré con el siguiente código esotérico.
int main(){(([](){})());}
Vuelva a formatearlo de la siguiente manera para que sea más legible:
int main(){
(([](){})()); // Um... what?!?!
}
Pero no puedo entender cómo (([](){})())
es el código válido.
- No se parece a la sintaxis del puntero de función.
- No puede ser un truco de sobrecarga del operador. El código se compila tal cual.
Google no ayudó mucho con esta búsqueda de todos los símbolos. Pero se compila en Visual Studio 2010 y no genera nada. No hubo errores ni advertencias. Entonces parece un código válido.
Nunca he visto ningún código válido que es tan extraño fuera de Javascript y C punteros de función .
¿Alguien puede explicar cómo es válido C ++?
Don't sweat it. We have int main(){(([](){})());} which is valid C++"
(9 de noviembre en el chat)