有一个小技巧问题,一些采访者喜欢问什么原因:
int arr[] = {1, 2, 3};
2[arr] = 5; // does this line compile?
assert(arr[2] == 5); // does this assertion fail?
Run Code Online (Sandbox Code Playgroud)
根据我的理解,a[b]转换为*(a + b)并且因为加法是可交换的,所以它们的顺序并不重要,所以2[a]它确实*(2 + a)很好.
这可以保证按C和/或C++的规格工作吗?