Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: [c++] 2 dimension array  (Прочитано 4708 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Mayor
Специалист

ru
Offline Offline

« : 26-07-2009 04:33 » 

[c++] 2 dimension array

как обычно на с++ используют двумерные массивы?
интересует пример создания, инициализации, взятия и присвоения элемента.

как такие массивы выглядят изнутри?

Записан

1n c0de we trust
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 26-07-2009 06:29 » 

//1)динамическое создание, вариант первый
Код:
BYTE* Array=new BYTE [x_max*y_max];

Array[y*x_max+x];

delele [] Array;
Array=0;

//2)динамическое создание, вариант второй
Код:
BYTE** Array=new BYTE* [y_max];
for(int i=0; i<y_max; i++)
{
Array[i]=new BYTE[x_max];
}

Array[y][x];

for(int i=0; i<y_max; i++)
{
delete Array[i];
Array[i]=0;
}
delele [] Array;
Array=0;

//3)статика
Код:
BYTE Array BYTE [y_max*x_max];
BYTE Array BYTE [y_max][x_max];



1-й и 3-й  способы - массивы в памяти сплошные (элементы идут следом друг за другом)
2-й способ - сплошные только под-массивчики, а сами подмассивы могут быть "не рядом"
« Последнее редактирование: 26-07-2009 09:24 от Sla » Записан

Вад
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 26-07-2009 15:56 » new

4) Используют std::vector и делают вектор векторов. Можно использовать вместо варианта №2, если накладные расходы на создание векторов невелики. В любом случае, имеем весьма простой и безопасный в плане исключений код.
Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines