パッチが gcc に投稿され、g++ に vector subscripting と呼ばれるものを提供します (gcc には既にありました)。
a
が配列でi
int の場合、はi[a]
有効で に等しいa[i]
。
double a[]{0.0, 1.0, 2.0, 3.0}; // C++11 style but would work in C++98 style too.
assert(a[2] == 2.0);
assert(2[a] == 2.0);
それで、これは合法で標準的な C/C++ ですか、それとも gcc 拡張機能ですか?
実際、Google は、MS Developer Studio にもこれがあることを示しています。私はC++標準を調べましたが、見当たりませんでした。