1 | |
Нехватка памяти при создании динамических объектов25.01.2015, 21:07. Показов 1667. Ответов 9
Метки нет (Все метки)
Создаю 4 динамических объекта. 3 вектора и матрица. матрица - это результат перемножения двух векторов. третий вектор- это суммы элементов матрицы по диагоналям. при компиляции компилятор (ide dev-c++) вылетает с ошибкой (terminate called after throwing an instance of 'std::bad_alloc' what(): srd::bad_alloc), система ругается на нехватку памяти. Со статическими объектами (когда размеры векторов и матрицы заданы статически), все работает нормально.
0
|
25.01.2015, 21:07 | |
Ответы с готовыми решениями:
9
Нехватка памяти при выбросе исключения Нехватка памяти при чтении/записи файлов Инициализация динамических массивов при создании Зачем нужно освобождать память динамических объектов в деструкторе, если всё равно это сделает менеджер памяти |
25.01.2015, 21:42 [ТС] | 3 | |||||
ну, не векторы - динамические массивы
0
|
25.01.2015, 23:55 [ТС] | 7 | |||||
Понял. А если мне надо удалить первый элемент из vect
0
|
1500 / 1146 / 165
Регистрация: 05.12.2011
Сообщений: 2,279
|
|
26.01.2015, 00:07 | 8 |
вариант 1: сдвигать все, что было перед первым элементом на одну позицию и запомнить где-то что массив стал на один элемент меньше. объем занимаемой памяти от этого не уменьшается.
вариант 2: перевыделить массив с нужным размером. и скопировать туда все из старого. старый удалить. достаточно медленный вариант. вариант 3: использовать стандартные контейнеры. выбрать подходящий по требованиям. вектор - самый простой в вашем случае. будет примерно то же, что и вариант 1 в плане производительности, но геморроя в связи с динамическим размером будет сильно меньше. вариант 4: другие варианты
1
|
27.01.2015, 15:28 [ТС] | 9 | |||||
а как создать матрицу векторов? использую vector< vector <int> >.программа зависает .
может boost::multi_array?
0
|
27.01.2015, 15:37 | 10 | ||||||||||
dserp18,
dserp18,
1
|
27.01.2015, 15:37 | |
27.01.2015, 15:37 | |
Помогаю со студенческими работами здесь
10
Ошибка при создании массива объектов Нехватка памяти Call of nonfunction при создании массива объектов класса Stack overflow при создании большого количества объектов Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |