LINUX.ORG.RU

История изменений

Исправление kvpfs, (текущая версия) :

Между прочим, тот факт, что тег константности теперь живёт и в типе, и в core language — тоже результат сишного наследия, насколько я понимаю.

Нет, всё не так. Если у нас два итератора:

It it;
const It cit;

то второй нельзя будет итерировать (он ведь константый), мы хотим другого - возврат константного объекта при разыменовывании, поэтому делаем отдельный типы, которые сами неконстанты:

It it;
const_It cit;

отличие между ними лишь в том, что второй хранит указатель на константые данные, а первый нет.

Исходная версия kvpfs, :

Между прочим, тот факт, что тег константности теперь живёт и в типе, и в core language — тоже результат сишного наследия, насколько я понимаю.

Нет, всё не так. Если у нас два итератора:

It it;
const It cit;

то второй нельзя будет итерировать (он ведь константый), мы хотим другого - возврат константного объекта при разыменовывании, поэтому делаем отдельный типы, который сами неконстанты:

It it;
const_It cit;

отличие между ними лишь в том, что второй хранит указатель на константые данные, а первый нет.