相关疑难解决方法(0)

在C和C++中通过索引[array]访问数组

有一个小技巧问题,一些采访者喜欢问什么原因:

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++的规格工作吗?

c c++ arrays square-bracket

36
推荐指数
2
解决办法
1万
查看次数

标签 统计

arrays ×1

c ×1

c++ ×1

square-bracket ×1