Форум программистов, компьютерный форум CyberForum.ru

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

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

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

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

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

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

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

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

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

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

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
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;
...
Borkot
4 / 4 / 0
Регистрация: 05.05.2012
Сообщений: 183
Записей в блоге: 1
02.08.2012, 16:10     Объявление динамического массива указателей #3
Скажите обязательно удалять массив сначала каждый i элемент,а потом и весь массив?
easybudda
Эксперт С++
9456 / 5469 / 927
Регистрация: 25.07.2009
Сообщений: 10,495
02.08.2012, 16:19     Объявление динамического массива указателей #4
Цитата Сообщение от Borkot Посмотреть сообщение
Скажите обязательно удалять массив сначала каждый i элемент,а потом и весь массив?
Да, обязательно. Если просто написать delete [] array; память, выделенная под каждую строку, так и останется как бы занятой, а вот указатель на неё потеряется. При определённом упорстве займёте всю память, выделенную системой вашей программе.
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
02.08.2012, 20:40     Объявление динамического массива указателей #5
Но лучше этого никогда не делать.
Borkot
4 / 4 / 0
Регистрация: 05.05.2012
Сообщений: 183
Записей в блоге: 1
03.08.2012, 12:00     Объявление динамического массива указателей #6
Погуглив немного и начитавшись книжек, нашел еще такую функцию free().Вопрос delete [] mas всегда взаимозаменяемая free()?Или есть какие-то нюансы?Заранее спасибо.
Jupiter
Каратель
Эксперт С++
6552 / 3972 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
03.08.2012, 12:17     Объявление динамического массива указателей #7
Цитата Сообщение от Borkot Посмотреть сообщение
.Вопрос delete [] mas всегда взаимозаменяемая free()?
нет,
память выделенную через new нужно удалять только через delete
память выделенную через new [] нужно удалять только через delete []
память выделенную через malloc/calloc нужно удалять только через free
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
03.08.2012, 12:29     Объявление динамического массива указателей #8
C++
1
std::vector<myType*> v;
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.08.2012, 12:57     Объявление динамического массива указателей
Еще ссылки по теме:

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

объявление массива - C++
int N = 10; int mas = {5,8,2,0,6,3,8,2,7,9}; По чему так нельзя, подчеркивает masN]?

Объявление массива - C++
Есть два файла первый с функцией main() main.cpp #include &lt;iostream&gt; #include &lt;string&gt; #include &quot;first.cpp&quot; using namespace std;...

Объявление массива - C++
Всем добрый день, очень нужна помощь. Вопрос собственно такой: Объявляется объект class MainClass { MainClass(); ...

Объявление двумерного массива - C++
Здравствуйте! Как объявить двумерный массив как public , я имею ввиду что например класс или одномерный массив можно объявить вот так: ...


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

Или воспользуйтесь поиском по форуму:
gooseim
Эксперт С++
508 / 412 / 37
Регистрация: 23.09.2010
Сообщений: 1,159
03.08.2012, 12:57     Объявление динамического массива указателей #9
C++
1
std::vector< boost::shared_ptr<myType> > v;
Yandex
Объявления
03.08.2012, 12:57     Объявление динамического массива указателей
Ответ Создать тему
Опции темы

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