我遇到了一种奇怪的方式,对阵列元素的吸引力,并认为它是一个错误,但它的工作原理.你能解释它是如何工作的吗?
#include <iostream>
int main()
{
int a[] = {1,2,3,4};
std::cout << 1[a];
}
Run Code Online (Sandbox Code Playgroud)
Kar*_*ski 10
表达a[b]相当于*(a + b)所以在您的例子中,我们有:
1[a]这可以写成*(1 + a)这是相同的*(a + 1),其是最终相同a[1]
BaseAddr[ Offset ] = *( BaseAddr + Offset )
Offset[ BaseAddr ] = *( Offset + BaseAddr ) = *( BaseAddr + Offset )
Run Code Online (Sandbox Code Playgroud)