Я знаю, как использовать итераторы на поверхностном уровне, но я пытаюсь понять, как итераторы работают по отношению к контейнерному классу, такому как vector
.
Согласно , почему мы помещаем :: (оператор разрешения области) перед итератор?
std::vector
— это шаблон класса в пространстве имен std, что делаетstd::vector<double>
классом.
std::vector<T>::iterator
является вложенным типом подstd::vector<T>
Насколько я понимаю, шаблон класса vector
имеет член типа iterator
, который он получает из шаблона класса в #include <iterator>
.
Это сбивает с толку, потому что, когда я смотрю на http://www.cplusplus.com/reference/iterator/iterator/ в #include <iterator>
нет шаблона класса const_iterator
, который я вижу?