Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.86/63: Рейтинг темы: голосов - 63, средняя оценка - 4.86
2 / 2 / 0
Регистрация: 18.09.2009
Сообщений: 107

Скорость перебор вектора

06.05.2011, 19:41. Показов 13994. Ответов 20
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вектор можно перебирать двумя способами, первый - через итератор
C++
1
2
3
 for (it=pairs.begin();it!=pairs.end();++it){
        printf("%i\n", it);
 }
А можно без использования итераторов, через оператор []
C++
1
2
3
 for (int i=0;i!=pairs.size();++i){
        printf("%i\n", pairs[i]);
 }
Мне кажется что в первом случае оптимизировать код несложно, компилятор поймет что элементы перебираются последовательно и вычислять впринципе ничего не надо, просто смещай указатель на n байт. А во втором случае наверно адрес элемента будет каждый раз вычисляться...
Вопрос, одинаковы ли оба метода по производительности? И если нет, то какой быстрее?

Добавлено через 1 час 46 минут
И ещё попутный вопрос, как точно проверить что 2 итератора указывают на один элемент?
Правильно ли делать так:
C++
1
if(it==it2) {...}
И если да, то гарантирует ли это что они указывают на один и тот же элемент?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.05.2011, 19:41
Ответы с готовыми решениями:

Скорость перебор вектора while/for/foreach
В php foreach для массива работает в 2 раза быстрее, чем перебор того же массива циклом while или for. Нашел на одном сайте:Но это для...

Полный перебор двоичного вектора
есть двоичный вектор длиной n, нужно перебрать все возможные комбинации нулей и единиц итерация или рекурсия(лучше) мне без разницы, мне...

Скорость перебор элементов vector'a и list'a
Видел на форумах пишут что поиск по несортированному вектору быстрее, чем по листу. Логично предположить что все элементы вектора находятся...

20
Эксперт С++
1675 / 1047 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
15.05.2011, 22:12
Студворк — интернет-сервис помощи студентам
g++ тоже в курсе, надо выставлять в опциях соответствующую архитектуру.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
15.05.2011, 22:12

Скорость доступа к элементам вектора
Всем привет! Использую вектор и интеерсует вопрос скорости выбора элементов из него. У вектора есть метод vector.at(int index),...

Перебор элементов вектора базового класса с приведением к типу наследника
Добрый день, уважаемые коллеги Подскажите как правильно выполнить приведение типов. Есть базовый класс Item: #ifndef...

Умножение вектора на матрицу, увеличить скорость работы
Доброго времени суток, пишу простые гоночки(OpenGL ES 2). В общем нужно умножать геометрию модели столкновения на матрицу...

Найти выражение для: вектора скорости; вектора ускорения; модуля радиус-вектора
Товарищи, помогите пожалуйста решить. Радиус-вектор материальной точки задается выражением: r=(t^2+2)i+(3t^2+4)j Найти...

Полный перебор и сокращенный перебор, путем исключения одного цикла
1) Разработать на основе метода полного перебора программу razmen1 для решения задачи о способах размена купюры достоинством 100 условных...


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

Или воспользуйтесь поиском по форуму:
21
Ответ Создать тему
Новые блоги и статьи
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы. Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version 1. 2003 - 06 - Designing Virtual Worlds (1st Edition) Автор: Richard A. Bartle | Объем: 768 стр. Ссылки: Amazon . . .
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров". Задача: Запрет инициалов. Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
Про "Windows must die!"
kumehtar 04.11.2026
Знаете, чет накатило. . . . Когда-то это было почти боевым кличем: мол, нормальный человек сидит на DOS, OS/ 2 или Linux, а вот это вот - Must Die. А теперь человек произносит «мастдай» с усмешкой - и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru