Свой контейнер в стиле QMap
Как-то достало, что в QMap и QHash элементы читаются по значению.
Надо сразу сказать, что в шаблонах я ранее плохо, что понимал. Но вот возник логичный вопрос
Соответственно поменять значение им в контейнере не получается, то есть поменять можно, но поменяется оно только в полученном локальном элементе.
Речь о методе value (). Тут все понятно получаем элемент однозначно только по значению.
А вот через operator [ ] получаем элемент двумя способами
По ссылке и по константной у значению.
Неприятности начинаются, когда вы начинаете работать с QVariant в качестве значения.
Но иногда хочется получить элемент по константной ссылке.
Размышляем на уровне ещё С++98 и Qt 4.
Контейнеры в Qt это шаблоны, наследования там нет и можно вообще легко замутить свой вариант