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

Расширение динамического массива - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.84
DragoDemon
2 / 2 / 0
Регистрация: 18.11.2009
Сообщений: 43
27.11.2009, 13:55     Расширение динамического массива #1
В С для работы с динамической памятью используются операторы:
malloc,calloc для выделения памяти
realloc для изменения размера
free для освобождения
В С++:
new для выделения памяти
delete для освобождения

Так вот, каким образом в С++ изменять размер динамического массива?
С помощью realloc? Не будет ли ошибкой выделять и освобождать память new и delete, но расширять realloc?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.11.2009, 13:55     Расширение динамического массива
Посмотрите здесь:

Удаление динамического массива C++
C++ Создайте класс динамического массива, в котором реализована проверка выхода за границы массива
Увеличение динамического массива C++
Создание динамического массива C++
C++ Создайте класс динамического массива, в котором реализована проверка выхода за границы массива
C++ Создайте класс динамического массива, в котором реализована проверка выхода за границы массива
Расширение массива C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
27.11.2009, 13:59     Расширение динамического массива #2
DragoDemon, юзать std::vector =)
Rififi
 Аватар для Rififi
2332 / 1047 / 43
Регистрация: 03.05.2009
Сообщений: 2,656
27.11.2009, 14:01     Расширение динамического массива #3
DragoDemon,

Так вот, каким образом в С++ изменять размер динамического массива?

Сие не предусмотрено.

Не будет ли ошибкой выделять и освобождать память new и delete, но расширять realloc?

Это вызовет undefined behavior
Sekt
 Аватар для Sekt
156 / 155 / 10
Регистрация: 29.04.2009
Сообщений: 637
27.11.2009, 14:01     Расширение динамического массива #4
Не будет ли ошибкой выделять и освобождать память new и delete
В С++ так и делают обычно.а расширять через realloc нельзя.
DragoDemon
2 / 2 / 0
Регистрация: 18.11.2009
Сообщений: 43
27.11.2009, 14:13  [ТС]     Расширение динамического массива #5
Как то странно это
Получается средствами С++ я вообще не могу изменять размер уже выделенного динамического массива?
Rififi
 Аватар для Rififi
2332 / 1047 / 43
Регистрация: 03.05.2009
Сообщений: 2,656
27.11.2009, 14:15     Расширение динамического массива #6
DragoDemon,

Получается средствами С++ я вообще не могу изменять размер уже выделенного динамического массива?

Именно.
В С++ есть *настоящие* динамические массивы вместо этого анахронизма
DragoDemon
2 / 2 / 0
Регистрация: 18.11.2009
Сообщений: 43
27.11.2009, 14:25  [ТС]     Расширение динамического массива #7
Цитата Сообщение от Rififi Посмотреть сообщение
Именно.
В С++ есть *настоящие* динамические массивы вместо этого анахронизма
А что подразумевается под словом "настоящие"?
Rififi
 Аватар для Rififi
2332 / 1047 / 43
Регистрация: 03.05.2009
Сообщений: 2,656
27.11.2009, 16:07     Расширение динамического массива #8
DragoDemon,

А что подразумевается под словом "настоящие"?

которые представляют собой объект языка C++, а не просто кусок памяти неизвестного размера
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2009, 17:21     Расширение динамического массива
Еще ссылки по теме:

Функция с применением динамического массива, чтобы размер массива увеличивался по мере необходимости C++
C++ Удаление динамического массива
Расширение динамически созданного массива объектов C++
C++ Почему при создании динамического массива через new ячейки массива имеют значение -842150451?
Удаление динамического массива C++

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

Или воспользуйтесь поиском по форуму:
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
27.11.2009, 17:21     Расширение динамического массива #9
DragoDemon, У меня есть подозрение, что Rififi имеет ввиду шаблоны класса CArray
Yandex
Объявления
27.11.2009, 17:21     Расширение динамического массива
Ответ Создать тему
Опции темы

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