Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
#1

Чем отличаются итераторы ::begin и ::cbegin? - C++

06.02.2014, 11:33. Просмотров 941. Ответов 4
Метки нет (Все метки)

Чем отличаются итераторы ::begin и ::cbegin? Не пойму разницы, и с английским у меня не очень.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.02.2014, 11:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Чем отличаются итераторы ::begin и ::cbegin? (C++):

Итераторы begin и end - C++
Привет всем! Возникла проблема с итераторами. Пишу класс, который содержит вектор векторов. Пишу итератор к этому классу. Не получается...

Реализовать итераторы begin() и end() для списка - C++
Есть список. и операции для него 1)разыменование 2)инкремент (префиксный и постфиксный) 3) == 4) != Для того,чтобы проверить...

Итераторы и с чем их есть - C++
Есть vector<SomeClass> someArray. В SomeClass есть поле someField. Не могу для итератора vector'а someArray присвоить значение полю...

Чем отличаются операторы while и for? - C++
Добрый вечер, чем отличается while от for, в каких случаях нужно использовать while а в каких for?

чем отличаются static_cast от - C++
Привет всем! чем отличаются явное приведения типа long tmp = static_cast<long>(45.6); от long tmp = long(54.34); ?

Чем отличаются компиляторы? - C++
Здравствуйте. 32-bit / 64-bit -- Понятно. Чем отличается threads-win32 от threads-posix, dwarf от sjlj?

4
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
06.02.2014, 11:39 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
begin возвращает для неконстантного контейнера container::iterator, cbegin - container::const_iterator. В случае константного контейнера ничем.
1
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
06.02.2014, 11:49  [ТС] #3
ForEveR, то есть для константного контейнера можно юзать оба итератора, а для неконстантного только ::begin, при ::cbegin выдаст ошибку?
0
ForEveR
В астрале
Эксперт С++
7978 / 4737 / 321
Регистрация: 24.06.2010
Сообщений: 10,543
Завершенные тесты: 3
06.02.2014, 11:53 #4
programina, Нет. cbegin в любом случае вернет const_iterator. begin вернет iterator в случае неконстатного контейнера и const_iterator в случае константного.
1
programina
1914 / 599 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
06.02.2014, 13:05  [ТС] #5
Хмм... в случае cbegin нужно обязательно использовать const_iterator вместо iterator

Добавлено через 7 минут
C++
#include <iostream>
#include <list>
 
int main ()
{
  int a[] = {1,2,3};
 
  std::list< int > mylist (a, a+3);
 
  for (std::list<int>::const_iterator it = mylist.cbegin(); it !=   mylist.cend(); ++it)
    std::cout << ' ' << *it;
}
0
06.02.2014, 13:05
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.02.2014, 13:05
Привет! Вот еще темы с ответами:

Чем отличаются эти функции? - C++
Аргумент в первой функции передается по значению. Это значит что создается копия переменной. А вот остальные не понимаю. void f1(int...

Чем отличаются ф-ии GlobalAllocPtr() и malloc()? - C++
Здрасьте! Чем отличаются ф-ии GlobalAllocPtr() и malloc()? Спасибо!

Чем отличаются указатели от ссылок? - C++
Как я понимаю указатель,он хранит адрес переменной,а ссылка просто берёт значение переменной?Привидите примерчик какой=)

Чем отличаются dynamic_cast и static_cast? - C++
если можно пример напишите


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru