Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 31, средняя оценка - 4.90
G-Cat
16 / 16 / 1
Регистрация: 15.03.2009
Сообщений: 94
#1

Объявление динамического массива указателей - C++

18.03.2010, 10:49. Просмотров 4037. Ответов 8
Метки нет (Все метки)

как объявить динамический массив указателей?

я знаю что обычный динамический массив записывать, например, так:
C++
1
2
3
...
char *array = new char[ 256 ];
...
а как массив указателей не знаю. Подскажите пожалуйста.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.03.2010, 10:49
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Объявление динамического массива указателей (C++):

Объявление динамического одномерного массива. - C++
БИЛЕТ №14 3. Составьте программу, в которой объявляется динамический одномерный массив заполненный числами типа int. Причем первыми...

Объявление двухмерного динамического массива в функции - C++
Подскажите, как объявить динамический массив размерности n*n. Допустим есть функция void F1(..., int n) { … } Что написать в...

Сортировка динамического массива указателей - C++
Собственно я написал шаблон класса, а там нужно сделать сортировку выбором. Как это сделать с указателями я не знаю. Получилось вот...

Объявление динамического массива в структуре, ошибка: невозможно инциализировать - C++
(см. строку 18) В ходе написания программы столкнулся с проблемой невозможности объявления динамического массива в структуре, ошибка:...

Освобождение динамического двумерного массива указателей - C++
Доброго времени суток. Подскажите как правильно очистить память после вот такого выделения: MyClass _class = new MyClass **; ...

Объявление указателей - C++
Всем здравствуйте! Прочитал на сайте статью про многомерные динамические массивы...

8
easybudda
Модератор
Эксперт CЭксперт С++
9698 / 5648 / 964
Регистрация: 25.07.2009
Сообщений: 10,863
18.03.2010, 10:54 #2
G-Cat,
C++
1
2
3
4
5
6
7
8
9
...
char **array = new char* [ number_of_strings ];
for ( int i = 0; i < number_of_strings; ++i )
  array[i] = new char [ length_of_string ];
...
for ( int i = 0; i < number_of_strings; ++i )
  delete [] array[i];
delete [] array;
...
2
Borkot
4 / 4 / 0
Регистрация: 05.05.2012
Сообщений: 186
Записей в блоге: 1
02.08.2012, 16:10 #3
Скажите обязательно удалять массив сначала каждый i элемент,а потом и весь массив?
0
easybudda
Модератор
Эксперт CЭксперт С++
9698 / 5648 / 964
Регистрация: 25.07.2009
Сообщений: 10,863
02.08.2012, 16:19 #4
Цитата Сообщение от Borkot Посмотреть сообщение
Скажите обязательно удалять массив сначала каждый i элемент,а потом и весь массив?
Да, обязательно. Если просто написать delete [] array; память, выделенная под каждую строку, так и останется как бы занятой, а вот указатель на неё потеряется. При определённом упорстве займёте всю память, выделенную системой вашей программе.
1
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
02.08.2012, 20:40 #5
Но лучше этого никогда не делать.
1
Borkot
4 / 4 / 0
Регистрация: 05.05.2012
Сообщений: 186
Записей в блоге: 1
03.08.2012, 12:00 #6
Погуглив немного и начитавшись книжек, нашел еще такую функцию free().Вопрос delete [] mas всегда взаимозаменяемая free()?Или есть какие-то нюансы?Заранее спасибо.
0
Jupiter
Каратель
Эксперт С++
6561 / 3982 / 227
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
03.08.2012, 12:17 #7
Цитата Сообщение от Borkot Посмотреть сообщение
.Вопрос delete [] mas всегда взаимозаменяемая free()?
нет,
память выделенную через new нужно удалять только через delete
память выделенную через new [] нужно удалять только через delete []
память выделенную через malloc/calloc нужно удалять только через free
1
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
03.08.2012, 12:29 #8
C++
1
std::vector<myType*> v;
0
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
03.08.2012, 12:57 #9
C++
1
std::vector< boost::shared_ptr<myType> > v;
0
03.08.2012, 12:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.08.2012, 12:57
Привет! Вот еще темы с ответами:

Объявление указателей - C++
Добрый вечер) имеется код где объявляем указатели. ... int *int_point=0; // 1) int* int_point2=0; //2) ...

Объявление типов и указателей в C++ - C++
Доброго времени суток, есть код в Delphi, там следующая конструкция объявления типов: // Определяем типы: type TData = array...

Добавление нового указателя в конец массива указателей, удаление указанного элемента, добавление указателей - C++
Здравствуйте. Помогите, пожалуйста, разобраться с одним большим заданием. Задание пока в процессе написания, но уже наверное есть ошибки....

Массив указателей на массив строк и сортировка массива указателей - C++
Добрый день. Поступил вопрос. Есть задача. У нас встроенный массив char mass;.Мы вводим строки до тех пор, пока не будет заполнен массив...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.