Ich habe gerade herausgefunden, dass diese hässliche Syntax "nützlich" sein könnte, oder zumindest sehr lustig zu spielen, wenn man mit einem Array von Indizes umgehen will, die sich auf Positionen im selben Array beziehen. Sie kann verschachtelte eckige Klammern ersetzen und den Code besser lesbar machen!
int a[] = { 2 , 3 , 3 , 2 , 4 };
int s = sizeof a / sizeof *a; // s == 5
for(int i = 0 ; i < s ; ++i) {
cout << a[a[a[i]]] << endl;
// ... is equivalent to ...
cout << i[a][a][a] << endl; // but I prefer this one, it's easier to increase the level of indirection (without loop)
}
Natürlich bin ich mir ziemlich sicher, dass es dafür keinen Anwendungsfall in echtem Code gibt, aber ich fand es trotzdem interessant :)