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

Обнуления 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) создать массив объектов 4) редактирование и просмотр свойств каждого объекта 5)обработка массива в соответствии с заданием. В задание нужно было вычислить количество двоек. Есть графы: фамилия,... 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 помощью мыши. Вопрос: как перевести пиксельные координаты графика на канве компонента в мм для того чтобы сопоставить графики? Спасибо. подробнее

Показать сообщение отдельно
Deviaphan
Делаю внезапно и красиво
Эксперт C++
 Аватар для Deviaphan
1283 / 1217 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
10.10.2012, 09:09     Обнуления vector четырьмя способами
Забудь про ключевое слово register, его больше не существует. И принципиально нельзя создать объект не базового типа в регистрах.
Распараллеливать обнуление вектора бесполезно. Скорее даже потеряешь, чем выиграешь что-то.
Проходи по первой размерности при помощи итераторов (не индексов, а именно итераторов!) и для второй размерности используй memset, передавая указатель на первый элемент и размер массива в байтах. Эффективнее memset'a сложно что-то стандартное придумать. Только если на ассемблере напишешь обнуление DWORD'ов, тогда несколько быстрее будет.

Добавлено через 1 минуту
Ну и в релизе скорость смотри. Не может обнуление 3 миллионов элементов 200 мс занимать. Не верю!
 
Текущее время: 22:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru