C++ trick 01
Date: 2019-03-12Last modified: 2023-01-12
Table of contents
#include <iostream>
int main() {
int a[3] = {10, 11, 12};
std::cout << 2 [a] << '\n';
return 0;
}
In general 2[a] is identical to a[2] and this is guaranteed to
be equivalent in both C and C++ (assuming no operator overloading),
because as you meantioned it translates into *(2+a) or *(a+2),
respectively. Because the plus operator is commutative, the two
forms are equivalent.
Possible output
12