在以下声明中:
int arr[10];
这两项分配均有效:
arr[0] = 0;
1[arr] = 1;
如何实现
operator[]
函数以实现可交换性?假设我们有这个类:
class Arr
{
private:
int a, b, c, d;
public:
int& operator[](...)
...
}
我们想访问
Arr obj;
==> obj[1]
返回b
,而且1[obj]
返回b
我怎样才能做到这一点?
最佳答案
你不能。 operator[]
需要作为其左操作数类型的成员函数进行重载,而整数类型则无法实现。
关于c++ - 我如何重载下标运算符以进行交换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60946820/