Нещодавно я натрапив на наступний езотеричний фрагмент коду.
int main(){(([](){})());}
Переформатуйте його наступним чином, щоб зробити його більш зрозумілим:
int main(){
(([](){})()); // Um... what?!?!
}
Але я не можу опустити голову як (([](){})())
діє код.
- Це не схоже на синтаксис вказівника функції.
- Це не може бути трюком перевантаження оператора. Код складається так, як є.
Google не дуже допомагав у цьому пошуку всіх символів. Але вона компілюється у Visual Studio 2010 і нічого не видає. Не було помилок і жодних попереджень. Так виглядає дійсний код.
Я ніколи не бачив якого - або дійсного коду , який так дивно за межами Javascript і C покажчиків функцій .
Чи може хтось пояснити, наскільки це дійсно C ++?
Don't sweat it. We have int main(){(([](){})());} which is valid C++"
(9 листопада в чаті)