Оператор перегрузки квадратной скобки с частным вложенным классом
Я хочу перегрузить оператор квадратной скобки [], используя закрытый вложенный класс, чтобы различать v[i] = val и val = v[i]
1 ответ
Вам не нужен частный вложенный класс, чтобы различать эти случаи. Просто сделайте один конст.
public:
T& operator[](size_t index);
const T& operator[](size_t index) const;
Если вы сделаете это, вариант const будет использоваться в случае const с правой стороны, а неконстантный будет использоваться при назначении элемента с левой стороны.