代码之家  ›  专栏  ›  技术社区  ›  Maxpm

运营商说明

  •  4
  • Maxpm  · 技术社区  · 15 年前

    我一直在阅读关于类运算符的内容,并遇到了以下示例:

    class Array {
    public:
         int& operator[] (unsigned i) { if (i > 99) error(); return data[i]; }
    private:
         int data[100];
    };
    

    这是否意味着我可以替换 [ 和 ] 我想要什么?例如,我可以用括号吗?

    此外,和号在 int& operator[] ?


    稍微不那么重要的一点是,使用 int& operator []

    5 回复  |  直到 11 年前
        1
  •  3
  •   Prasoon Saurav    15 年前

    can be overloaded

    int& operator[]

    reference int

    int& operator []

        2
  •  2
  •   ArBR    15 年前

    int& operator[] (conts int a) {...}
    int operator[] (conts int a) {...} const
    
        3
  •  1
  •   cadolphs    15 年前

    operator()
    

    operator{} operator<>

    operator[]

        4
  •  1
  •   jon_darkstar    15 年前

        5
  •  1
  •   seaotternerd    11 年前



    http://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B#Table
    每个表中都有一个“可重载”列

    2) int& 指示正在返回对值的引用。
    References in C++ 类似于指针,值得他们自己讨论,但对于这里的运算符,它允许您将此运算符用作赋值的左侧操作数,例如。

    x[3] = 0;
    

    如果它只是返回一个int,这将不起作用;