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

Инициализировать массив быстро? - 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
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
20.12.2011, 07:01
Цитата Сообщение от DeadRipper Посмотреть сообщение
ну фактически все сводится к посту taras atavin
можно заранее создать число большее по размеру которое было бы сочетанием нескольких переменных, но когда неизвестно это число мне кажется это только дольше будет
Почему?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void s(short int x, short int *&a, unsingned int n)
{
 long int *p;
 long int *e;
 long int t;
 t=x|(x<<(sizeof(x)*8));// Объединяем один раз
 a= new short int [n];
 if (a)
 {
  e=(long int *)a;
  for (p=e+n/2-1; p>=e; --p) // И экономим тысячи инитов. У него ведь на весь массив одно значение
  {
   *p=t;
  }
 }
}
Добавлено через 3 минуты
Цитата Сообщение от DeadRipper Посмотреть сообщение
xor ecx,ecx;// зануляем ecx
И после этого ты говоришь об оптимизации?! С нолём надо сравнивать, так как это быстрее любого другого сравнения.

Добавлено через 9 минут
Цитата Сообщение от DeadRipper Посмотреть сообщение
разве что берет число он каждый раз по памяти, когда лучше бы занести его в регистр
Когда это оправдано, он помещает данные в регистры, в компилированном коде часть переменных даже вообще ни когда не бывает ни где, кроме регистров. Но чтоб поместить данное в регистр, сначала надо сохранить другое данное. А если для трёх часто используемых даннных будет использоваться общий регистр из-за нехватки регистров, а для трёх более редких - индивидуальные, то при каждом обращении к общему регистру происходит два обращения к памяти, что медленнее доступа к индивидуальным регистрам, что тормозит исполнение, а при противоположном распределении регистров это бы происходило реже и реже торможение. Регистров то не так уж много, есть камни всего с четырьмя регистрами общего назначения.

Добавлено через 3 минуты
Цитата Сообщение от Jupiter Посмотреть сообщение
а смысл когда можно так
Код C++
double **array=new double *[array_size]();
for(int i=0; i<array_size; i++)
{
* *array[i] = new double[array_size]();
}
Я бы не стал полагаться на дефолтозануление по new за исключением объектов и только с известными дефолтоконструкторами. А дабл - скаляр.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru