2

可能重复:
运算符 [] [] 重载

我在互联网上查看过,但找不到这个问题的明确答案,所以我在这里。

我知道:operator[][]()不是有效的运算符重载,而是它们重载 [][] 运算符的一种方式(vector<vector<typename>>例如,用于)。

我需要这个,因为我正在做一种包含向量向量的包装类,我本来希望

4

1 回答 1

8

是的,但这取决于operator []. 您可以返回一个本身支持的类型operator []

比方说:

struct Matrix
{
   vector<vector<int> > x;
   vector<int>& operator[] (int i)
   {
      return x[i];
   }
};

因为x[i]返回一个vector,你可以[]再次使用,因为vector有一个operator[]

于 2012-06-19T19:58:03.310 回答