c++ - 制作对象数组并在 C++ 中使用重载 []

标签 c++ arrays object operator-keyword

我创建了这个类,比如 Apple,它有一个重载的 operator []
然后在另一个类上,我做了一个苹果数组,Apple stack[10]
然后当我在表达式中使用 stack[2] 时,而不是 stack[2] 是一个对象,编译器的行为就像它将堆栈视为 stack [0],然后调用运算符[],其参数为2

你能建议我调用 stack[2] 而不是那种方式吗?

最佳答案

您可以使用指针来获取数组元素:

*(stack+2)[3]; // lookup element 2 and call its [] operator with 3

关于c++ - 制作对象数组并在 C++ 中使用重载 [],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11916717/

相关文章:

javascript - 对具有重复值的数组中的对象进行排序

c# - 使用 .net C# 在 SNMP 项目上编码错误

c++ - Rcpp - 定义采用 R 函数和省略号参数的 C++ 函数

c# - 无法实现数组均值的递归方法

c - 在 C 中递增数组的元素时,为什么必须使用++array[c - '0' ] 而不是++array[c]?

javascript - 从具有超过 10,000 个键/值对的对象中查找值的有效方法

javascript - 循环遍历对象数组并仅获取少数对象

c++ - 如何读取包含空格的数据

C++ - For 循环不工作

PHP:如何将变量动态分配到数组中