Можно ли применять const_cast к разыменованному const_iterator?
Рассмотрим следующий код:
void function(std::list<Type>::const_iterator iterator)
{
// iterator гарантированно указывает на корректный элемент.
Type& type = const_cast<Type&>(*iterator);
type.field = 0;
}
Подскажите, пожалуйста, является ли данный код законным с точки зрения Стандарта?