Оператор перегрузки квадратной скобки с частным вложенным классом

Я хочу перегрузить оператор квадратной скобки [], используя закрытый вложенный класс, чтобы различать v[i] = val и val = v[i]

1 ответ

Вам не нужен частный вложенный класс, чтобы различать эти случаи. Просто сделайте один конст.

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

Если вы сделаете это, вариант const будет использоваться в случае const с правой стороны, а неконстантный будет использоваться при назначении элемента с левой стороны.

Другие вопросы по тегам