Ich bin kürzlich auf den folgenden esoterischen Code gestoßen.
int main(){(([](){})());}
Formatieren Sie es wie folgt neu, um es besser lesbar zu machen:
int main(){
(([](){})()); // Um... what?!?!
}
Aber ich kann mir nicht vorstellen, wie (([](){})())
gültiger Code ist.
- Es sieht nicht nach Funktionszeigersyntax aus.
- Es kann kein Operator-Überladetrick sein. Der Code wird unverändert kompiliert.
Google hat bei dieser Suche mit allen Symbolen nicht viel geholfen. Es wird jedoch in Visual Studio 2010 kompiliert und gibt nichts aus. Es gab keine Fehler und keine Warnungen. Es sieht also nach gültigem Code aus.
Ich habe noch nie einen gültigen Code gesehen, der außerhalb von Javascript- und C-Funktionszeigern so bizarr ist .
Kann jemand erklären, wie dies in C ++ gültig ist?
Don't sweat it. We have int main(){(([](){})());} which is valid C++"
(9. November im Chat)