m.find (…) == m.end () - который используется, итератор или const_iterator

станд.:: карта находит/заканчивает, и обеспечивает const_iterator и итератор, например.

  iterator end ();
  const_iterator end () const

Из любопытства, если у меня есть станд.:: карта, которая будет названа/сравнена здесь, итератор или const_iterator?:

if(m.find(key) != m.end()) {
   ...
}

И я должен заботиться?

6
задан leeeroy 13 April 2010 в 19:18
поделиться

2 ответа

Если m равно const , то будет возвращен const_iterator ; в противном случае будет возвращен итератор .

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

8
ответ дан 16 December 2019 в 21:37
поделиться

Это зависит от того, является ваша карта константной или нет. Если это так, вы получите const_iterator. В противном случае вы получите итератор.

0
ответ дан 16 December 2019 в 21:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: