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

std::vector доступ по индексу vs доступ по итератору - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Нужна программа учет студентов группы в с++ http://www.cyberforum.ru/cpp/thread837789.html
программа на курсач
C++ Что из этого официально бесплатно? И чем посоветуете компилить под unicod? Операционка лицензионная. http://www.cyberforum.ru/cpp/thread836411.html
Запись данных с аудиоустройства C++
Добрый день. Пытаюсь записать данные с устройства в буфер. #include "windows.h" #include "mmsystem.h" #include <iostream> #pragma comment (lib,"Winmm.lib") using namespace std;
C++ Какую IDE использовать для разработки приложений с GUI?
Нужно написать программу, чтобы она нормально выглядела нужно сделать GUI, но хочу создать его в редакторе форм. QT creator скачал открыл, но там какие-то классы Qstring левые и куча вещей C++ не работают. Потом почитал отзывы про Microsoft Visual C++ , ну, думаю, то, что надо. Что за "gnew", что за символ "^", какой это язык программирования? Что можете посоветовать?
C++ Инструментальный софт http://www.cyberforum.ru/cpp/thread833591.html
Что должно входить в релизную интегрированную среду разработки? Редактор исходника - это понятно. Это видит пользователь. Ведь для инструментальщика прикладной программист - это пользователь. А ещё? Нажал пользователь "компилировать". Куда передаётся исходник? Сразу в компилятор? Или в отдельную софтину - анализатор? То есть анализатор - это отдельная программа, или часть компилятора? Лексический...
C++ Не могу добавить ссылку на dll добрый день. пытаюсь подключить dll. у меня не активное диалоговое окно common properties. почему не пойму.. подробнее

Показать сообщение отдельно
oxotnik
 Аватар для oxotnik
1586 / 1063 / 33
Регистрация: 21.08.2008
Сообщений: 4,545
Записей в блоге: 1

std::vector доступ по индексу vs доступ по итератору - C++

15.04.2013, 13:30. Просмотров 3903. Ответов 24
Метки (Все метки)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    std::vector<int> tmp;
    int i = 0;
    tmp.resize(1000000);
    std::vector<int>::iterator it = tmp.begin();
    for (int m = 0; m < 10000; ++m)
    {
        for(; it != tmp.end(); ++it)
        {
            (*it) = i + 1;
            ++i;
        }
        it = tmp.begin();
        for(; it != tmp.end(); ++it)
            i = (*it);
    }
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
    std::vector<int> tmp;
    int j = 0;
    tmp.resize(1000000);
    for (int m = 0; m < 10000; ++m)
    {
        size_t i = 0;
        for (; i < 1000000; ++i)
        {
            tmp[i] = j + 1;
            ++j;
        }
        i = 0;
        for (; i < 1000000; ++i)
            j = tmp[i];
    }
В дебаге доступ по индексу работает в 2-2.5 раза быстрее, нежели итераторы,
в релизе картина с точностью до наоборот - итераторы в 2 раза быстрее.
Как сие можно объяснить?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru