Я создал коллекцию, для которой я хочу предоставить итератор с произвольным доступом в стиле STL. Я искал пример реализации итератора, но я не нашел его. Я знаю о необходимости перегрузки констант операторов []
и *
. Каковы требования для того, чтобы итератор был "STL-style" и каковы некоторые другие ошибки, которых следует избегать (если они есть)?
Дополнительный контекст: это для библиотеки, и я не хочу вводить какую-либо зависимость от него, если мне это действительно нужно. Я пишу свою собственную коллекцию, чтобы иметь возможность поддерживать двоичную совместимость между С++ 03 и С++ 11 с одним и тем же компилятором (поэтому STL, который, вероятно, не сломается).