【问题标题】:C++ double subscript operator overload [duplicate]C ++双下标运算符重载[重复]
【发布时间】:2012-06-21 22:22:20
【问题描述】:

可能重复:
Operator[][] overload

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

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

我需要这个,因为我正在做一种包含向量向量的包装类,我会喜欢的

【问题讨论】:

    标签: c++ operator-overloading


    【解决方案1】:

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

    假设:

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

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

    【讨论】:

      猜你喜欢
      • 2015-02-27
      • 1970-01-01
      • 1970-01-01
      • 2011-10-27
      • 2020-10-07
      • 1970-01-01
      • 2012-12-22
      • 2016-09-26
      • 2012-04-21
      相关资源
      最近更新 更多