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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ использования функцый http://www.cyberforum.ru/cpp-beginners/thread290043.html
Я начинающий программист вроде бы уже знаю как работают циклы и т.п. Ну хорошей программы написать не могу например: (Открытия CD-RAM при нажатия клавиши, или клавиатурный шпион, удаления файла и т.п.). Я знаю что в этих программах надо знать функции но я не как не могу найти такую книгу: Что бы функции были и их применение и пример их использование. можете или авторов написать или ссылки...
C++ strncpy Дана строка: djh,dfkh,sdj. Как последовательно по отдельности записать в strncpy текстовые части: djh dfkh sdj http://www.cyberforum.ru/cpp-beginners/thread290039.html
C++ combobox и отображение полей
Добрый день , прощу помощи по visual studio , т.к. человек от программирования я далекий и не уверен даже в тот ли раздел я пишу. Собственно как мне кажется моя проблема просто элементарна и скорее всего здесь уже обсуждалась , но к сожалению я даже не знаю как правильно составить вопрос в моем случае. И так суть проблемы : есть форма , на форме есть combobox с 4 значениями , так вот мне...
C++ Как сохранить структуру в виде строк в файле
Помогите пожалуйста очень надо. Есть структура листинг ниже, как сделать чтобы она сохраняла данные структуры в виде строк в файле а потом можно было вывести на экран и файла #include <iostream.h> #include <conio.h> #include <string.h> #include <stdlib.h> #include <stdio.h> struct Auto {
C++ Дополнить программу http://www.cyberforum.ru/cpp-beginners/thread289995.html
#include <iostream> class Calories { public: void Power(); void Display(); void Read(); private:
C++ проясните вопрос в строках вот программа с объявлениями строк как тип стринг и как массив #include "stdafx.h" #include "iostream" #include "string" using namespace std; int main() {string h="mama papa ded"; cout<<h<<endl; подробнее

Показать сообщение отдельно
Kadet89
2 / 2 / 0
Регистрация: 18.09.2009
Сообщений: 107

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

06.05.2011, 19:41. Просмотров 3062. Ответов 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) {...}
И если да, то гарантирует ли это что они указывают на один и тот же элемент?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru