通常我们以这种方式访问数组元素:arrayName[elementID]
。但即使我们使用像elementID[arrayName]
那样编译它也不会在运行时引起任何错误。这不是逻辑错误吗?任何人都可以解释我这个。我是C ++的新手。提前感谢您的帮助!
#include<iostream>
using namespace std;
int main()
{
int arr[4] = {2, 4, 5, 7};
cout << arr[2] << endl; //this is the correct way to use it
cout << 2[arr] << endl; //this gives the same result and does not cause any errors
return 0;
}
答案 0 :(得分:3)
以下是等效的:
a[b] == *(a + b) == *(b + a) == b[a]
使用哪一个并不重要,只要它是可读的并且它传达了程序员的意图。