Рассмотрим задачу написания индексируемого класса, который автоматически синхронизирует его состояние с некоторым внешним хранилищем данных (например, файл). Чтобы сделать это, класс должен быть осведомлен об изменениях в индексированном значении, которые могут произойти. К сожалению, обычный подход к оператору перегрузки [] не допускает этого, например ... < /p>
Type& operator[](int index)
{
assert(index >=0 && index < size);
return state[index];
}
< /code>
i есть способ различить доступ к значению и измененное значение? < /p>
Type a = myIndexable[2]; //Access
myIndexable[3] = a; //Modification
< /code>
Оба этих случая происходят после возвращения функции. Есть ли какой -то другой подход к перегрузке оператора [], который, возможно, будет иметь больше смысла?
Подробнее здесь: https://stackoverflow.com/questions/358 ... lows-for-r
Перегрузка оператора индексации индексации C ++ [] таким образом, чтобы разрешить ответы на обновления ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение