Je suis récemment tombé sur la suite ésotérique morceau de code.
int main(){(([](){})());}
Le reformater comme suit afin de le rendre plus lisible:
int main(){
(([](){})()); // Um... what?!?!
}
Mais je ne peux pas obtenir ma tête autour de la façon dont (([](){})())
est valable code.
- Il ne ressemble pas à la fonction de pointeur de la syntaxe.
- Il ne peut pas être certains de surcharge d'opérateur truc. Le code se compile comme il est.
Google n'a pas beaucoup d'aide avec ce symbole de la recherche. Mais il compile dans Visual Studio 2010 et sorties de rien. Il n'y avait pas d'erreurs, et pas de mises en garde. Donc, il semble que le code est valide.
Je n'ai jamais vu aucun code valide, c'est tellement bizarre à l'extérieur de Javascript et C pointeurs de fonction.
Quelqu'un peut m'expliquer comment cela est valable en C++?