|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
27.02.2011, 21:54 | #1 |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
динамические массивы
Давно не программировал на плюсах, сейчас сижу и вспоминаю
Если я создаю int* i = new int[7], то удалять я его буду как delete [] i; А если я двумерный создаю? на delete [,] i компилятор ругается, Однако почему-то delete [] i и delete i вижуал почему-то вполне устраивают, причём оба! |
27.02.2011, 22:06 | #2 |
Форумчанин
Регистрация: 15.12.2010
Сообщений: 398
|
delete-у не нада указывать размерность данных, если они были созданы оператором new. Ему достаточно указателя
|
27.02.2011, 22:16 | #3 |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
Вот я пишу:
int* array = new int[7,6]; Затем двумя вложенными циклами прогоняю, записывая int[i,j] = i+j; и в итоге в отладчике я вижу что у меня массив из одного элемента О_о что такое? а потом я ljk;ty yfgbcfnm delete * array; так? |
27.02.2011, 22:33 | #4 |
Участник клуба Подтвердите свой е-майл
Регистрация: 19.11.2007
Сообщений: 1,022
|
Код:
|
27.02.2011, 23:19 | #5 |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
А такие как в C# нельзя создавать, получается?Так?
ну там так делалось: int[,] a = new int[3,4]; |
28.02.2011, 21:30 | #6 |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
Дело в том что yy - переменная, а _unsCharMod, поэтому с точки зрения скорости работы, надо создать динамический массив, а внутри него статический.
Код:
Необработанное исключение в "0x00ee71a3" в "A.exe": 0xC0000005: Нарушение прав доступа при записи "0xcdcdcdcd". Ну это понятно: обращение по несуществующему адресу, то есть я память неправильно выделил. В принципе есть предположение где ошибка: Или надо int* unsIntText = new int[yy]; (зачем 2 указателя????) или же надо *unsIntText[i][_unsCharMod]; Но в обоих случаях компилятор ругается |
28.02.2011, 22:27 | #7 | |
Участник клуба Подтвердите свой е-майл
Регистрация: 19.11.2007
Сообщений: 1,022
|
Цитата:
|
|
28.02.2011, 23:20 | #8 |
Форумчанин
Регистрация: 18.04.2009
Сообщений: 688
|
я смотрел в книгах, гуглил - ничего не нашел, поэтому и спросил.
profi, по твоему примеру. Я сделал точку останову перед удалением массива. навижу на m и всплывает контекстное меню. и у меня показывает отладчик только адрес первого элемента массива. Как мне в отладчике посмотреть его содержание? Конечно, можно по-отдеельности смотреть каждую переменную, то есть если навести на m[0][0] то вижуал покажет что там находится, а как сразу просмотреть весь массив? |
01.03.2011, 07:58 | #9 |
Участник клуба Подтвердите свой е-майл
Регистрация: 19.11.2007
Сообщений: 1,022
|
Я Visual C++ вообще не пользуюсь.
|
01.03.2011, 16:22 | #10 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Как создавать и удалять в C++ двумерный массив:
Код:
Код:
Код:
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Динамические массивы | tolik_gd | Общие вопросы C/C++ | 6 | 28.12.2010 00:04 |
Динамические массивы в c++ | kosteck | Помощь студентам | 1 | 19.12.2010 18:08 |
Динамические массивы в с++ | Metallica | Помощь студентам | 0 | 23.11.2010 18:32 |
Динамические массивы и массивы варианты | N@stya | Помощь студентам | 0 | 11.06.2010 21:09 |
Динамические массивы | Matr1x | Общие вопросы C/C++ | 5 | 07.12.2009 13:38 |