有没有人看到像"2[array]"这样的数组索引方式?
Does anybody see such an array indexing way like "2[array]"?
今天,我看到了这样一种奇怪的索引数组的方式。
代码如下:
int array[] = {10, 20, 30};
cout << -2[array];
我从来没见过这么奇怪的array用法。但是没有编译错误。
有谁能告诉我ISO文档是否对这种使用数组的方式进行了描述?
它可以工作,因为形式x[y]
的表达式只是*(x+y)
的糖,当然,加法是交换的,所以2[array]
和array[2]
被编译成相同的东西。
不要这样做,因为这会造成不必要的混淆。
相关文章:
- 如何以优化的方式同时迭代两个间距不相等的数组
- 在数组中输入 n 个整数的列表,并以类似于钟摆来回移动的方式排列它们. 输入-1 3 2 5 4,输出5 3 1 2 4
- 在C++中,建议通过数组循环的方式是什么?
- 以这种方式初始化的 char 数组是否会自动添加空终止符?
- C++通过别名指针以静默方式将错误的类型分配给数组元素
- 如何以这种方式处理字符串数组
- 数组数据以错误的方式遍历 Python/Matlab
- 使用分而治之的最大总和子数组,为什么要以不同的方式使用 for 循环,答案是错误的?
- 使用字节数组具有单字节对齐方式的结构是否安全
- 有没有一种递归的方式来制作这个字符串数组?
- 以类似数组的方式访问结构成员:在与数组不同的结构中填充?
- C 结构具有CHAR数组以不寻常的方式初始化为零
- 动态规划 - 在数组中查找目标求和方式
- 我可以以某种方式使我的矢量/数组动态更改装置数量吗?
- 一维数组映射方式的性能差异问题
- 在动态 2-D 数组中填充 0 的更简洁的方式C++
- 我需要以尺寸方式计算数组的平均值
- 如何以递归方式反转任何数组?(不使用C++标准库)
- 在编译时以增量方式创建数组
- 为什么在指针和数组的情况下,字符数组的处理方式不同