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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.84
DragoDemon
2 / 2 / 0
Регистрация: 18.11.2009
Сообщений: 43
#1

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

27.11.2009, 13:55. Просмотров 2505. Ответов 8
Метки нет (Все метки)

В С для работы с динамической памятью используются операторы:
malloc,calloc для выделения памяти
realloc для изменения размера
free для освобождения
В С++:
new для выделения памяти
delete для освобождения

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

Расширение динамического массива - C++
Доброго времени суток. Прошу помощи. Моя проблема заключается в том, что не могу понять как создать третий массив минимально возможного...

Функция с применением динамического массива, чтобы размер массива увеличивался по мере необходимости - C++
Ребята, подскажите, кто может, каким образом создать функцию с применением динамического массива, но так, чтобы размер массива увеличивался...

Создайте класс динамического массива, в котором реализована проверка выхода за границы массива - C++
Создайте класс динамического массива, в котором реализована проверка выхода за границы массива. Перегрузите операторы: , =, +, -,++...

Создайте класс динамического массива, в котором реализована проверка выхода за границы массива - C++
Создайте класс динамического массива, в котором реализована проверка выхода за границы массива. Перегрузите операторы: , =, +, -,++ ...

Создайте класс динамического массива, в котором реализована проверка выхода за границы массива - C++
Народ подскажите такую вещь я написал программку для вставки элементов в массив при этом осуществляется проверка границ массива ! ...

Почему при создании динамического массива через new ячейки массива имеют значение -842150451? - C++
Я хотел бы узнать почему при создании динамического массива через операцию new ячейки массива имеют значение -842150451. #include...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Андрейка
419 / 223 / 27
Регистрация: 25.03.2009
Сообщений: 744
27.11.2009, 13:59 #2
DragoDemon, юзать std::vector =)
1
Rififi
2359 / 1054 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
27.11.2009, 14:01 #3
DragoDemon,

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

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

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

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

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

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

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

которые представляют собой объект языка C++, а не просто кусок памяти неизвестного размера
1
valeriikozlov
Эксперт C++
4670 / 2496 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
27.11.2009, 17:21 #9
DragoDemon, У меня есть подозрение, что Rififi имеет ввиду шаблоны класса CArray
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.11.2009, 17:21
Привет! Вот еще темы с ответами:

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

Расширение массива - C++
Подскажите пожалуйста что может быть не верным в алгоритме void** InitArray (int size, int cnt) {/* SIZE_AR_FIRST - константа,...

Расширение массива с затиранием данных - C++
Добрый день. Пример: int main() { DWORD size = 0; // нулевой размер TCHAR buf; // буфер нулевого размера ...

Расширение динамически созданного массива объектов - C++
Здравствуйте! Подскажите, как расширить динамический массив без использования STL библиотеки: count = 10; ClassA** A; A =...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
27.11.2009, 17:21
Ответ Создать тему
Опции темы

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