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

Обнуления vector четырьмя способами - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дан одномерный массив из n (n≤104) элементов, осортировать его по возрастанию методом выбора через input.txt, output.txt http://www.cyberforum.ru/cpp-beginners/thread667738.html
Дан одномерный массив из n (n≤104) элементов a1,a2,…,an.( |ai|≤2×109). Сортировать по возрастанию методом выбора через input.txt, output.txt
C++ Конструирование простейшего класса! помогите пожалуйста доделать работу, а главное понять) У меня задание есть, нужно: 1) создать объект с помощью конструктора по умолчанию 2) создать объект с помощью конструктора с параметрами 3)... http://www.cyberforum.ru/cpp-beginners/thread667691.html
Как правильно реализовать заполнение двумерного массива элементами C++
Здравствуйте! Имеется проблема такого рода: Имеется 5-6 классов, с базовым классом и 5- наследниками. Все классы - имеют разный размер. Подскажите пожалуйста как правильно реализовать...
C++ Шаблоны
template <typename Type> bool Func(Type &data) { } Как сделать, что бы шаблон работал только для некоторых типов? Скажем для int и double.
C++ Задача на вычисление суммы без использования массивов http://www.cyberforum.ru/cpp-beginners/thread667638.html
Надо вычислить сумму, для заданного числа n: Не знаю как делать. Можно ли сделать эту задачу без массива? Надо ли использовать рекурсию? Помогите, пожалуйста!
C++ Одновременные графики в tchart и на канве Здравствуйте. Задачка: если нарисованный график (Visual Studio 2010) в Series компонента tchart в мм и отрисованный на канве компонента c помощью мыши. Вопрос: как перевести пиксельные координаты... подробнее

Показать сообщение отдельно
nexen
187 / 180 / 3
Регистрация: 27.01.2012
Сообщений: 1,335
10.10.2012, 09:29  [ТС]
Цитата Сообщение от Deviaphan Посмотреть сообщение
Забудь про ключевое слово register, его больше не существует. И принципиально нельзя создать объект не базового типа в регистрах.
Распараллеливать обнуление вектора бесполезно. Скорее даже потеряешь, чем выиграешь что-то.
Проходи по первой размерности при помощи итераторов (не индексов, а именно итераторов!) и для второй размерности используй memset, передавая указатель на первый элемент и размер массива в байтах. Эффективнее memset'a сложно что-то стандартное придумать. Только если на ассемблере напишешь обнуление DWORD'ов, тогда несколько быстрее будет.

Добавлено через 1 минуту
Ну и в релизе скорость смотри. Не может обнуление 3 миллионов элементов 200 мс занимать. Не верю!
Да, ты прав, в релизе все гораздо быстрее. Тогда в чем собстченно глубинный смысл того, что обнуление на дебаге работает в 20 раз медленнее автоматического спецификатора, а на релизе одинаково (почти) для 81млн. элементов?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru