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

Инициализировать массив быстро? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Сортировка линейного однонаправленного списка http://www.cyberforum.ru/cpp-beginners/thread403820.html
Всем привет) Нужно отсортировать линейный однонаправленный список. Как это можно сделать? Причем нужно менять местами не данные, а указатели.. Вот код программы, список структур. Помогите плиз...
C++ [C++] Арканоид Здравствуйте, я самый на то есть начинающий программист,поэтому сразу прошу прощения, если вопросы будут не очень коректными.Очень расчитываю на вашу помощь. Задача состоит в следующем. Нужно... http://www.cyberforum.ru/cpp-beginners/thread403817.html
Найти и вывести координаты центра окружности C++
Друзья, нужна помощь. Девушке задали лабы по СИ, она не шарит. Знакомых всех спросил, никто не может помочь. Вот она: 1. Диаметр окружности начинается в точке М1(x1,y1) и кончается в точке...
system("") C++
Хотел узнать, есть справочник хотя бы о большинстве команд в system("")? Сам искал, ничего хорошего не нашел.
C++ Геометрические задачи http://www.cyberforum.ru/cpp-beginners/thread403780.html
Составить программу вычисления сторон треугольника, если известны радиус описанного вокруг него круга и градусные меры двух его углов. #include <iostream.h> #include <conio.h> #include...
C++ Минимальное количество монет Есть такая задача: Денежная система некоторой страны предоставляет монеты номиналом с, = 1, с2, ..., сN. Как выдать сумму S с помощью минимального числа монет? Вход. В первой строке — сумма S и... подробнее

Показать сообщение отдельно
taras atavin
3570 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
10.12.2011, 20:55
Если элемент влазит в полрегистра, то можно писать два элемента за раз.
C++
1
2
3
4
5
6
7
8
int a[100]; // Тип может быть любым, лишь бы его sizeof = 4 
hyper *p=a; //sizeof этого типа = 8
hyper c=...; //А сюда присвоить код значения, повторённый дважды. Например, если код значения 0xFEC4AB23, то присвоить надо 0xFEC4AB23FEC4AB23
int i;
for (i=49; i>=0; --i)//Обратите внимание на половинное число элементов
{
 p[i]=c;//А здесь инитим два элемента за раз.
}
надо только чтоб используемый подставной тип влез в регистр, иначе эффекта не будет. Если же элемент влазит в четверть регистра, то можно ещё ускорить:
C++
1
2
3
4
5
6
7
8
short int a[100]; // Тип может быть любым, лишь бы его sizeof = 2 
hyper *p=a; //sizeof этого типа = 8
hyper c=...; //А сюда присвоить код значения, повторённый 4 раза. Например, если код значения 0xFEC4, то присвоить надо 0xFEC4FEC4FEC4FEC4
int i;
for (i=24; i>=0; --i)//Обратите внимание на число элементов, уменьшенное в 4 раза.
{
 p[i]=c;//А здесь инитим 4 элемента за раз.
}
Если же элемент помещается 8 раз, то:
C++
1
2
3
4
5
6
7
8
char a[200]; // Тип может быть любым, лишь бы его sizeof = 1 
hyper *p=a; //sizeof этого типа = 8
hyper c=...; //А сюда присвоить код значения, повторённый 8 раз. Например, если код значения 0xFE, то присвоить надо 0xFEFEFEFEFEFEFEFE
int i;
for (i=24; i>=0; --i)//Обратите внимание на число элементов, уменьшенное в 8 раз.
{
 p[i]=c;//А здесь инитим 8 элементов за раз.
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru