Доброго здоровья и с прошедшим Рождеством!
Цитата pva:
"стек". Он и действует по принципу "последний зашёл, первый вышел". »
|
Да, спасибо большое, я сегодня читал, по классу
vector есть ещё
list и
deque, прочитал, что
vector и
deque, более "близки" по принципу, добавляют данные только в начало или в конец, а
list, может добавлять в середину списка
шаблоны изучал, но не глубинно, ещё знаю, что есть
стеки,
очереди,
деревья,
списки, также, что принцип - "первый вошёл - первый вышел", "первый вошёл - последний вышел", но это я ещё буду основательно изучать в скором времени, но коль столкнулся
уже сейчас, то почему бы паралельно не захватить багаж знаний касательно сих вещей, Вам,
pva, с глубоким уважением жму руку, за терпение к моим вопросам! А так же
5pliT'у! Ошибку компилятор выдавал ту что Вы говорили,
, мне казалось, что при размере большем, чем 20000, массив правильно не выделяется, и элементам не "удаётся правильно" расположиться последовательно, поэтому происходит такая ошибка...
pva, Вы могли бы мне объяснить эти строки или поправить меня?! Я сейчас напишу, как я их понял.
1.
Код:
![Выделить весь код](images/misc/selectcode.png)
vector<int> mem_TempArray(Position * Rasryad);
int* TempArray[Rasryad];
Вы создаёте массив целых чисел и приводите его к типу
vector, а потом создаём массив указателей
TempArray на целое число, для того, чтобы хранились не числа, а адреса, так будет "дешевле" для памяти... Поправьте, или дополните мои пробелы в объяснении.
И вот эту строку.
2.
Код:
![Выделить весь код](images/misc/selectcode.png)
for(unsigned n = 0; n < Rasryad; ++n) TempArray[n] = &mem_TempArray[Position * n];
Здесь, я немного не понял,
&, операция адресации, возвращает адрес своего правого операнда, а потому, думаю, что присваивает адрес массиву указателей!
[Position * n] - это расположение элементов соответствено чему?! К примеру,
Position = 20000;, а
n = 2;, то при умножении, будет
TempArray[2] = &mem_TempArray[40000];, тоесть, третьему элементу массива
TempArray, присвоится значение... я тут запутался... Объясните пожалуйста...
Кстати, с Вашей модификацией, действительно всё работает на Ура!!!