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

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

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

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

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

В С для работы с динамической памятью используются операторы:
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++
Подскажите пожалуйста что может быть не верным в алгоритме void** InitArray (int size, int cnt) {/* SIZE_AR_FIRST - константа,...

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

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

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

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

Создание динамического массива - C++
Как создать динамически массив размера n если n вводиться с клавиатуры. А еще и двумерный cin>>n int a=new int; не работает

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

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

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

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

Это вызовет undefined behavior
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
2359 / 1054 / 44
Регистрация: 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
2359 / 1054 / 44
Регистрация: 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++
#include <iostream> using namespace std; #pragma warning (disable:4996) int main() { freopen("qsort.in", "r", stdin); ...

Пересоздание динамического массива - C++
Доброго времени суток! Есть некая проблема с динам. массивом: Есть функция , суть которой зарандомить новые значения в динамический...

Сортировка динамического массива - C++
Доброе время суток!!! Очень надо Разработать программу сортировки матрицы размерности nxn так, чтобы элементы в каждой строке...

Выборка из динамического массива - C++
Приветствую. Есть следующий код функции, который должен выдавать адрес минимального элемента массива. Я не совсем понимаю, насколько...

Инициализация динамического массива - C++
Народ, подскажите как сделать так что бы, можно было задать размер массива через консоль, а не в коде через const (Если можете - объясните,...


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

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

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