带有私有嵌套类的重载方括号运算符

时间:2014-02-18 08:42:25

标签: c++ operator-overloading nested-class square-bracket

我想使用私有嵌套类重载方括号operator []来区分v [i] = val和val = v [i]

1 个答案:

答案 0 :(得分:0)

您不需要私有嵌套类来区分这些情况。只需制作一个const。

 public:
     T& operator[](size_t index);
     const T& operator[](size_t index) const;

如果这样做,const变量将用于const右侧的情况,而非const的变量将在分配给左侧的元素时使用。