Это имеет смысл в моей голове, но я не уверен, что это правильная константа.Const контейнер, возвращающий неконстантные ссылки
У меня есть контейнер, как это:
template<typename T>
class IDMap
{
public:
typedef uint64_t ItemID;
T& GetItem(const ItemID id) const
{
const uint32_t index = _IDSTORAGE_INDEX_MASK(id);
const uint32_t version = _IDSTORAGE_VERSION_MASK(id);
assert(mItems[index].mVersion == version);
return mItems[index].mItem;
}
// ....
};
я могу делегировать константные ссылки на этот контейнер для других классов хорошо зная, что они не могут изменить контейнер, но они могут получить доступ и изменять его объекты.
Действительно ли это действительный случай? Действительно, как в «Это решает определенную проблему для меня, но я не уверен, что ее хорошая практика»
Спасибо, не знал этого. – KaiserJohaan