假设我有一个类,就这样foo
。它包含对象 someclass obj[10][10]
.
现在我想引用bar
,这是 foo
类型的对象,这样 bar[7]
相当于 bar.obj[7]
并返回 someclass*
类型的对象。这很简单。
但我还想引用bar
以这样的方式 bar[7][3]
相当于 bar.obj[7][3]
并返回 someclass
类型的对象。现在没那么简单...
怎么做?
最佳答案
in such a way that bar[7] is equivalent to bar.obj[7] and returns an object of type someclass*.
但是如果它返回 someclass*
,那么它就不会等同于 bar.obj[7]
。它需要返回 someclass(&)[10]
才能等效。
请注意,您可能还需要 const 重载。
But I also want to refer to bar in such a way that bar[7][3]
只要按照描述重载下标运算符,您就可以做到这一点 - 它既适用于您的指针建议,也适用于我的引用建议。
关于c++ - 如何重载数组索引运算符的多个下标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61103141/