c++ - 当我们在 C++ 中交换数组名和索引(如索引[数组名])时会发生什么?

标签 c++ arrays

当我们在 C++ 中交换数组名称和索引(如索引[arrayname])时会发生什么? arrayname[index] 与写index[arrayname] 一样吗?两者的值(value)是多少?

最佳答案

对于内置类型,E1[E2] 的定义“(根据定义)与”*((E1) + (E2)) 相同。 (引自 [expr.sub]/1)所以答案很简单:交换名称没有效果。

对于用户定义类型,E1 必须是具有重载operator[] 的类类型,因此,如果没有一些时髦的东西,您无法互换两个表达式。

关于c++ - 当我们在 C++ 中交换数组名和索引(如索引[数组名])时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70217671/

相关文章:

c++ - 阶乘 - 数组 - C++

arrays - Arrayformula 在 Google 表格中查找条件的下一个值

javascript - 在 JavaScript 中优化迭代深化高峰时间算法时遇到问题

c++ - 无法显式访问命名空间范围友元

c++ - "return new node"内存泄漏,我找不到修复它的方法

c++数据结构保持按值排序并操作FIFO

java - 根据任意索引对数组进行排序

c++ - 嵌入式 C++ : to use exceptions or not?

c++ - 将 lambda 函数传递给通用函数 C++

java - 如何追踪银行账户余额?