Russian Qt Forum
Ноябрь 24, 2024, 20:40
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
максимальное количество елементов в двумерном масиве
Страниц: [
1
]
2
3
4
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: максимальное количество елементов в двумерном масиве (Прочитано 27795 раз)
Ubuntu_linux
Гость
максимальное количество елементов в двумерном масиве
«
:
Апрель 06, 2010, 17:24 »
Есть масиви u[1000][1000] и E[1000][1000] как можно увеличить количестко строк и столбцов в 10 раз, а то в Qt не хватает памяти?
Записан
niXman
Гость
Re: максимальное количество елементов в двумерном масиве
«
Ответ #1 :
Апрель 06, 2010, 17:30 »
Qt тут не при чем. вы пытаетесь выделить память на стеке
для подобных целей есть std::vector<>, std::list<>, QVector<>, QList<>
ну и на худой конец, динамическая память.
Записан
Ubuntu_linux
Гость
Re: максимальное количество елементов в двумерном масиве
«
Ответ #2 :
Апрель 06, 2010, 17:34 »
как увеличить виделения динамической памяти?
Записан
SimpleSunny
Гость
Re: максимальное количество елементов в двумерном масиве
«
Ответ #3 :
Апрель 06, 2010, 17:45 »
Использовать new.
Код
C++ (Qt)
int
**
mtrx
;
matr
=
new
int
*
[
nrow
]
;
for
(
int
i
=
0
;
i
<
nrow
;
++
i
)
mtrx
[
i
]
=
new
int
[
ncol
]
;
Удалять в обратном порядке.
Записан
niXman
Гость
Re: максимальное количество елементов в двумерном масиве
«
Ответ #4 :
Апрель 06, 2010, 17:49 »
SimpleSunny
, вот расскажите, нафига такой изврат, когда есть контейнеры?
Записан
Karl-Philipp
Гость
Re: максимальное количество елементов в двумерном масиве
«
Ответ #5 :
Апрель 06, 2010, 18:17 »
Цитата: niXman от Апрель 06, 2010, 17:49
SimpleSunny
, вот расскажите, нафига такой изврат, когда есть контейнеры?
Встречал я где-то в Интернете, что контейнеры (vector, list и т.д.) хорошо справляются с количеством объектов до 100.000 штук (ориентировочно). Дальше, по идее, скорость обработки объектов будет (может) падать.
Возможно, поэтому Ubuntu_linux хочет решить свой вопрос с помощью массивов.
Записан
alexman
Гость
Re: максимальное количество елементов в двумерном масиве
«
Ответ #6 :
Апрель 06, 2010, 18:20 »
Еще накладных расходов избегаем!
Записан
Karl-Philipp
Гость
Re: максимальное количество елементов в двумерном масиве
«
Ответ #7 :
Апрель 06, 2010, 18:25 »
Цитата: alexman от Апрель 06, 2010, 18:20
Еще накладных расходов избегаем!
переведите, пожалуйста
Записан
Amigo_sa
Гость
Re: максимальное количество елементов в двумерном масиве
«
Ответ #8 :
Апрель 06, 2010, 18:26 »
Цитата: SimpleSunny от Апрель 06, 2010, 17:45
Использовать new.
Код
C++ (Qt)
int
**
mtrx
;
matr
=
new
int
*
[
nrow
]
;
for
(
int
i
=
0
;
i
<
nrow
;
++
i
)
mtrx
[
i
]
=
new
int
[
ncol
]
;
Удалять в обратном порядке.
Насколько я понял, для динамических двумерных массивов лучше так не выделять память. new - тяжелая операция и удалять потом объекты трудно. Лучше выделить сразу matr = new int* [nrow * ncol] . и потом аккуратно работать с индексами
Записан
alexman
Гость
Re: максимальное количество елементов в двумерном масиве
«
Ответ #9 :
Апрель 06, 2010, 18:46 »
Цитата: terlan от Апрель 06, 2010, 18:25
Цитата: alexman от Апрель 06, 2010, 18:20
Еще накладных расходов избегаем!
переведите, пожалуйста
Была ситуация, когда хранил двумерный массив Qt-ыми средствами. Размер большой! В рез-те требовалось много оперативки! Стал использовать обычное динамическое выделение памяти - размер занятой оперативки уменьшился значительно! Хотя если размеры небольшие конечно лучше использовать стандартные контейнеры
Записан
zenden
Гость
Re: максимальное количество елементов в двумерном масиве
«
Ответ #10 :
Апрель 06, 2010, 18:50 »
лучше купить побольше памяти и не париться
копейки стоит ведь
Записан
Karl-Philipp
Гость
Re: максимальное количество елементов в двумерном масиве
«
Ответ #11 :
Апрель 06, 2010, 19:25 »
Цитата: zenden от Апрель 06, 2010, 18:50
лучше купить побольше памяти и не париться
копейки стоит ведь
а что делать, если программа пишется для продажи? Не говорть же покупателям, что нужно докупать оперативу
Записан
pastor
Administrator
Джедай : наставник для всех
Offline
Сообщений: 2901
Re: максимальное количество елементов в двумерном масиве
«
Ответ #12 :
Апрель 06, 2010, 19:33 »
Цитата: zenden от Апрель 06, 2010, 18:50
лучше купить побольше памяти и не париться
копейки стоит ведь
Что делать в случае эмбеддед девайсов?
Записан
Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Vass
Гость
Re: максимальное количество елементов в двумерном масиве
«
Ответ #13 :
Апрель 06, 2010, 19:45 »
Цитата: terlan от Апрель 06, 2010, 19:25
а что делать, если программа пишется для продажи? Не говорть же покупателям, что нужно докупать оперативу
Ну не знаю, производители игр и Мелкософт, по-моему, так и делают %)
Записан
Ubuntu_linux
Гость
Re: максимальное количество елементов в двумерном масиве
«
Ответ #14 :
Апрель 06, 2010, 19:53 »
Цитата: SimpleSunny от Апрель 06, 2010, 17:45
Использовать new.
Код
C++ (Qt)
int
**
mtrx
;
matr
=
new
int
*
[
nrow
]
;
for
(
int
i
=
0
;
i
<
nrow
;
++
i
)
mtrx
[
i
]
=
new
int
[
ncol
]
;
Удалять в обратном порядке.
А как обращаться к елементам масива ? например u[10][1000]?
Записан
Страниц: [
1
]
2
3
4
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...