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

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

Войти
Регистрация
Восстановить пароль
 
Van111
кодер с++
209 / 188 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
#1

Разница в скорости выполнения, итераторы - C++

29.01.2014, 14:45. Просмотров 278. Ответов 8
Метки нет (Все метки)

Википедия
C++
1
2
3
for (ContainerType::iterator it = C.begin(),end = C.end(); it != end; ++it) {
    std::cout << *it << std::endl;
}
Вариант которой я сам использую и вижу практически у всех программистов
C++
1
2
3
for (ContainerType::iterator it = C.begin(); it != С.end(); ++it) {
    std::cout << *it << std::endl;
}
насколько первый вариант быстрее второго, стоит ли писать так, как предлагает википедия?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.01.2014, 14:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разница в скорости выполнения, итераторы (C++):

Разница в скорости выполнение программы C++ или C# - C++
И так здравствуйте,хотелось бы узнать почему в данном случае(то есть использование stl) c++ медленнее c# ,запускаю из релиза ...

Итераторы и обратные итераторы - C++
У вектора есть два типа итераторов, обычные и обратные итераторы произвольного доступа... Обычные реализовал, осталось обратные. Решил...

В чем разница между "Порядок выполнения программ на языке C" и "Структура программы на языке C" - C++
в конспектах у себя не нашел, хоть и записывал все, что объяснял преподаватель. вот, собственно, сам вопрос: Структура программы на...

итераторы - C++
ребят помогите плиз vector&lt;double&gt;::iterator t = matrix.begin(); vector&lt;double&gt;::iterator t1 = matrix.end(); for(;t&lt;t1;t++) ...

Итераторы С++ - C++
Помогите, пожалуйста, надо написать две программы Задача 1 Напишите программу, использующую итераторы при чтении последовательности...

Итераторы - C++
Не могу въехать как работают итераторы, литература-форумы не помогли, увы. На 26й строке то, что не могу осилить. Прохожу по стеку...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 1,998
29.01.2014, 15:09 #2
Цитата Сообщение от Van111 Посмотреть сообщение
насколько первый вариант быстрее второго, стоит ли писать так, как предлагает википедия?
беспонятия насколько это быстрее, но очевидно же что в 1ом случае лишний раз вызывается метод и оператор= ...
1
Xopecc
33 / 28 / 2
Регистрация: 13.09.2013
Сообщений: 250
29.01.2014, 15:10 #3
Van111, разница не столь велика, чтобы изменять свой собственный стиль программирования.
1
Tulosba
:)
Эксперт С++
4396 / 3239 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
29.01.2014, 15:11 #4
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
На студии в дебаге разница ~2.5 раза (вики быстрее), в релизе разницы нет.
Ну и стоит учесть еще тело цикла. Т.к. нагрузка на ядра при вызове в условии if'а будет ничтожно мала по сравнению с вызовом тела цикла.
1
Xopecc
33 / 28 / 2
Регистрация: 13.09.2013
Сообщений: 250
29.01.2014, 15:14 #5
Tulosba, думаю ТС спрашивал про разницу в релизе
1
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 1,998
29.01.2014, 15:15 #6
хотя я невнимателен и сказал глупость)
1
Xopecc
33 / 28 / 2
Регистрация: 13.09.2013
Сообщений: 250
29.01.2014, 15:21 #7
dzrkot, все ошибаются
1
gazlan
3131 / 1906 / 285
Регистрация: 27.08.2010
Сообщений: 5,132
Записей в блоге: 1
29.01.2014, 15:22 #8
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от Van111 Посмотреть сообщение
it != С.end();
Bad style detected !

Большой грех без нужды пихать вызов функции или вычисления в тело цикла. Другое дело, что оптимизирующий компилятор постарается вынести инвариантные выражения наружу.
1
Van111
кодер с++
209 / 188 / 4
Регистрация: 03.08.2011
Сообщений: 2,597
Записей в блоге: 12
29.01.2014, 19:59  [ТС] #9
всем большое спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.01.2014, 19:59
Привет! Вот еще темы с ответами:

Итераторы - C++
От какого класса наследуются итераторы в STL? Например я создаю класс и для него нужен собственный итератор, совместимый с STL (более...

Итераторы С++ - C++
Как с помощью итераторов работать с массивом объектов класса? И что такое класс Итератор? П.С. Не через вектора

итераторы си++ - C++
подскажите пожалуйста какие существуют методы итераторов? и что они делают?

Итераторы - C++
Добрый день! Начал изучать классы в C++ параллельно с итераторами. Решил сделать простенькую программу, которая создаёт список классов....


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
29.01.2014, 19:59
Ответ Создать тему
Опции темы

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