Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

динамический двухмерный массив в C++

10K
16 декабря 2008 года
Schuler
42 / / 04.04.2007
Извиняюсь за глупый вопрос, но как в С++ создать динамический двухмерный массив?
9
16 декабря 2008 года
Lerkin
3.0K / / 25.03.2003
Цитата: Schuler
Извиняюсь за глупый вопрос, но как в С++ создать динамический двухмерный массив?


Почитать про STL, например. Там не много, сразу найдете.

33K
17 декабря 2008 года
EnDenis
9 / / 22.11.2007
 
Код:
int size = 5; // размер массива
int* array = new int[size]; // выделяем память под массив
// всякие операции с массивом
delete [] array; // не забываем потом удалить этот массив
9
17 декабря 2008 года
Lerkin
3.0K / / 25.03.2003
Цитата: EnDenis
 
Код:
int size = 5; // размер массива
int* array = new int[size]; // выделяем память под массив
// всякие операции с массивом
delete [] array; // не забываем потом удалить этот массив


Ради того, чтобы эту чушь тут брякнуть, ты год назад и регистрировался?

307
17 декабря 2008 года
Artem_3A
863 / / 11.04.2008
Цитата: Schuler
Извиняюсь за глупый вопрос, но как в С++ создать динамический двухмерный массив?


вот так

 
Код:
const int iSize = 30;
...........................................
int **piMassiv = new int*[iSize];
for(int i=0; i<iSize; i++)
    piMassiv = new int[iSize];


или

[QUOTE=Lerkin]Почитать про STL, например. Там не много, сразу найдете.[/QUOTE]
9
17 декабря 2008 года
Lerkin
3.0K / / 25.03.2003
Цитата: Artem_3A
вот так
 
Код:
const int iSize = 30;
...........................................
int **piMassiv = new int*[iSize];
for(int i=0; i<iSize; i++)
    piMassiv = new int[iSize];


Уважаемый Artem_3A. Вы не покажите мне, неразумному, где в вашем примере динамический массив?
Я так понимаю, размер такого массива не должен задаваться константой. Или вы по другому считаете?

2.0K
17 декабря 2008 года
BroKeR
163 / / 04.05.2006
Цитата: Lerkin
Уважаемый Artem_3A. Вы не покажите мне, неразумному, где в вашем примере динамический массив?
Я так понимаю, размер такого массива не должен задаваться константой. Или вы по другому считаете?



АААААААААААААААААААААААААА, это же было уже!!!!!
Знатный #рач там устроили
http://forum.codenet.ru/showthread.php?t=51970

307
17 декабря 2008 года
Artem_3A
863 / / 11.04.2008
Цитата: Lerkin
Уважаемый Artem_3A. Вы не покажите мне, неразумному, где в вашем примере динамический массив?
Я так понимаю, размер такого массива не должен задаваться константой. Или вы по другому считаете?



Уважаемый Lerkin, извиняюсь, const прописал на автомате...
Как вам будет угодно:

 
Код:
int iSize = 0;
cout << "Please enter size: ";
cin >> iSize;
cout << endl;
int **piMassiv = new int*[iSize];
for(int i=0; i<iSize; i++)
    piMassiv = new int[iSize];


Спасибо, что вы устранили такой опасный баг в моем коде, без вашего участия ни чего не заработало бы, низко кланяюсь в пояс!

PS динамический массив - это массив размер которого может меняться в процессе выполнения программы. И даже если размер массива задан константой это ни мешает нам изменять его размер.
1.8K
17 декабря 2008 года
igor_nf
256 / / 13.12.2006
Цитата: Artem_3A

 
Код:
int iSize = 0;
cout << "Please enter size: ";
cin >> iSize;
cout << endl;
int **piMassiv = new int*[iSize];
for(int i=0; i<iSize; i++)
    piMassiv = new int[iSize];




Дело не в const.. В принципе здесь то же самое, что и выше - с тем отличием, что размер массива задаётся в рантайме - это не делает его более динамическим, чем в предыдущем варианте. Лучше юзать vector.

9
17 декабря 2008 года
Lerkin
3.0K / / 25.03.2003
Цитата: igor_nf
Дело не в const.. В принципе здесь то же самое, что и выше - с тем отличием, что размер массива задаётся в рантайме - это не делает его более динамическим, чем в предыдущем варианте. Лучше юзать vector.


Вообще, наблюдается любопытная ситуация. Разницу между С и С++, молодые горячие головы, видят лишь в замене функции [FONT="Courier New"][SIZE="2"]malloc [/SIZE][/FONT]- [FONT="Courier New"][SIZE="2"]new[/SIZE][/FONT]'шкой, а [FONT="Courier New"][SIZE="2"]free [/SIZE][/FONT]- оператором [SIZE="2"][FONT="Courier New"]delete[/SIZE][/FONT].
2Artem_3A: А вот как мне изменить размер массива в рантайме - по предложенному вами варианту? Примерчик можно? И, уверен, на данный момент вы несколько недопонимаете значение применения ключевого слова [FONT="Courier New"][SIZE="2"]const[/SIZE][/FONT], и не совсем правильно поняли мое высказывание:

Цитата: Lerkin
...размер такого массива не должен задаваться константой...



P.S. И какие-то детские обиды здесь не канают. Путь Самурая - вы выбрали, надеюсь, сами.

307
18 декабря 2008 года
Artem_3A
863 / / 11.04.2008
Не хочу с вами спорить, возможно вы и правы.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог