向 gcc 发布了一个补丁,该补丁为 g++ 提供了一种称为矢量下标的东西(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 扩展?
实际上,谷歌显示 MS Developer Studio 也有这个。我查看了 C++ 标准,但没有看到它。