разные типы итераторов в cpp - PullRequest
0 голосов
/ 07 января 2019

Как мы знаем, в cpp есть много типов итераторов, таких как прямые итераторы, итератор вывода, итератор ввода, итератор произвольного доступа, но когда мы объявляем

set<int>::iterator it;
  1. что это за итератор, это какой-то итератор, упомянутый выше?

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

  3. какие дополнительные функции мы получим, используя их, какие обычные типы итераторов? который set<int>::iterator it (этот вид) не может предоставить

Ответы [ 3 ]

0 голосов
/ 07 января 2019
0 голосов
/ 07 января 2019

Q1 что это за тип итератора, это какой-то итератор, упомянутый выше?

С https://en.cppreference.com/w/cpp/container/set

iterator Constant LegacyBidirectionalIterator
const_iterator Constant LegacyBidirectionalIterator

Q2 Я никогда не использовал вышеупомянутый итератор типов в программе, мне нужно знать их?

Тип не является типом C ++. Это концепция. Да, вам нужно знать о них, чтобы правильно их использовать.

Q3 какие дополнительные функции мы получим, используя их, какие обычные типы итераторов? который set<int>::iterator it (этот вид) не может обеспечить

Ответ на вопрос спорный из-за ответа на Q2 .

0 голосов
/ 07 января 2019

set<int>::iterator имеет тип Constant LegacyBidirectionalIterator, вы можете найти его на сайте std :: set . Хорошее знание этих итераторов принесет вам пользу, но в целом нам просто нужно знать, как его использовать. Для итератора достаточно, если вы знаете, является ли он декрементным или инкрементным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...