перегрузку оператора [], как я могу в теле класса вызвать эту же перегрузку?
Первое что приходило в голову, это сделать this[val] или this->[val], но это не подходит
(*this)[val] this->operator[](val) должны работать, по идее второй для эстетов, конечно
В первом варианте скобок не хватает
и правда, спасибо поленился проверить приоритет операторов
а какой вариант в целом предпочтительнее? я ещё вот такой попробовал Classname::operator[](key)
потому что короче?
Да, читается проще
потому что вызывать операторы как функции это странно в общем случае
Иногда по другому не получвется.
Обсуждают сегодня