标签: c++ operator-overloading nested-class square-bracket
我想使用私有嵌套类重载方括号operator []来区分v [i] = val和val = v [i]
答案 0 :(得分:0)
您不需要私有嵌套类来区分这些情况。只需制作一个const。
public: T& operator[](size_t index); const T& operator[](size_t index) const;
如果这样做,const变量将用于const右侧的情况,而非const的变量将在分配给左侧的元素时使用。