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

Скорость перебор вектора while/for/foreach - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ наследование и абстрактные классы!! http://www.cyberforum.ru/cpp-beginners/thread287998.html
расскажите что это и с чем это едят......... а то как то встал на этом!!!
C++ Builder Прямоугольник с двумя диагональными линиями Задание, нужно нарисовать прямоугольник с цветом любым и с двумя диагональными линиями собственно у меня получается этот прямоугольник, с линиями,но они по другому у меня, а нужно X помогите, чтобы пересекали прямоугольник вот так IХI буквой X Делал в билдер с++ Код: //--------------------------------------------------------------------------- #include <vcl.h> http://www.cyberforum.ru/cpp-beginners/thread287996.html
C++ Из Turbo Pascal в C++
Составить программу, которая находит наибольшую сторону треугольника, если заданы координаты вершин (x1,y1), (x2,y2), (x3,y3). Вычисление расстояния между двумя точками оформить с помощью функции по формуле. Помогите переделать прогу из Tuarbo Pascalя в C++ program lab8_2; uses crt; var x1,x2,x3,y1,y2,y3,a,b,c:real; function str(x1,x2,y1,y2:real):real; begin ...
C++ Access violation
void max_min (fstream &p) { MYTYPE object; int k, min, max, len; p.clear(); p.seekg(0); len=p.tellg()/(lenDis+16); MYTYPE *arr=new MYTYPE; for (int i=0; read(p, arr); ++i) max=0;
C++ НЕ все работает (МАССИВЫ) http://www.cyberforum.ru/cpp-beginners/thread287985.html
Дан массив А11 Найти максимум из диапазона . Отсортировать массив по невозростаннию элементов, исключая из массива положительные нечетные элементыю. Что бы исключить не нужные ел. я присваеваю одному масиву другой через IF, а оно мне кокие-то не понятные числа выдает.Помогите пож.! Добавлено через 42 секунды Вот исходник #include <stdio.h> #include <conio.h> #include <math.h> int main()...
C++ Как изменить шрифт и размер шрифта подскажите пожалуйсто как изменить шрифт и размер шрифта, какие библиотеки и функции подробнее

Показать сообщение отдельно
Damaks
18 / 10 / 1
Регистрация: 02.09.2010
Сообщений: 235
03.05.2011, 19:00     Скорость перебор вектора while/for/foreach
В php foreach для массива работает в 2 раза быстрее, чем перебор того же массива циклом while или for.
Нашел на одном сайте:
for/while не лучшее решение для перебора элементов массива, т.к. на каждой итерации выполняется поиск в хештаблице. foreach для этого предпочтительней, ибо просто перебирает элементы списка.
Но это для php, а как обстоят дела с c++ stl, будет ли разница в скорости если при переборе вектора заменить цикл for или while на foreach?
В векторе, насколько мне известно, элементы хранятся в едином куске памяти, и чтобы получить следующий элемент - нужно передвинуть указатель на определенную постоянную величину... мне кажется если инкрементировать итератор, то будут лишние затраты на вычисления, т.к. не определено в какую сторону он инкрементируется или на какую величину меняется, а при foreach известно что всегда на элемент вперед.
Хотя наверно g++, в отличае от php, подобные вещи оптимизирует...?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 10:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru