您能否解释(1+3)[a]
索引背后的魔力,如下面的代码所示? (taken from here)
#include <iostream>
int main(int argc, const char * argv[]) {
int a[] = {1, 2, 3, 4, 5, 6};
std::cout << (1 + 3)[a] - a[0] + (a + 1)[2];
}
这是索引C语言的一些遗物吗?我认为索引操作符[]
不能在其中包含数组。同样的工作对于例如std::vector
?