C++访问数组元素

标签 c++ arrays

<分区>

通常我们以这种方式访问​​数组元素: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;
}

最佳答案

以下是等价的:

a[b] == *(a + b) == *(b + a) == b[a]

使用哪一个并不重要,只要它是可读的并且传达程序员的意图即可。

关于C++访问数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26062902/

相关文章:

c++ - 无法设置 4 字节硬件断点 Windbg

c - 如何在 C 中向 double 组添加值

c++ - 获取文件或文件夹的权限

c++ - 虚拟继承 - 跳过构造函数

c++ - Visual Studio 2012 中的小程序与 Visual Studio 2005 相比要慢得多

java - 如何将加密数据从 C++ 传输到 Java

c - 使用 %d 或 %i 进行类型转换后进行打印会产生意外的输出

c - 使用用户定义的函数用随机数/错误填充数组

javascript - 在 "ended"上播放数组中的下一个视频

c - C语言中如何获取内存地址的值