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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 22, средняя оценка - 5.00
SiNn3R
0 / 0 / 0
Регистрация: 19.09.2008
Сообщений: 10
#1

Увелечение размера динамического массива - C++

05.05.2010, 12:05. Просмотров 3190. Ответов 4
Метки нет (Все метки)

Добрый день!
Итак, допустим есть массив:

char *str = new char[4];

Задача следующая: увеличить размер массива на 1 (то есть до 5 элементов).
Использовать std::string нельзя!

В голову лезет только 1 вариант:
1) Создать новый массив на 1 больше размером старого.
2) С помощью memcpy скопировать данные из старого массива в новый.
3) Удалить старый массив и изменить указатель str на новый массив.

Но это как-то громоздко, нет ли вариантов быстрее?
Заранее благодарю =)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.05.2010, 12:05     Увелечение размера динамического массива
Посмотрите здесь:

Изменение размера динамического массива - C++
вводится числовой массив неизвестной длинны, каждое число заносится в динамический массив. using namespace std; int main() { ...

Измерение размера динамического массива - C++
Как можно изменять размер динамического массива? К примеру, сначала у меня: <имя_класса> *mas=new <имя_класса>; ..... Ну и в...

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

Динамическое увеличение размера динамического массива - C++
Никак не могу понять как это исправить.. Помогите, пожалуйста, разобраться в чём дело: struct myPoint ...

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

Функция изменения размера динамического массива - C++
Здравия желаю, Друзья. Застрял вот на чем: #include <iostream> #include <conio.h> using namespace std; void Func(int *ar,...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
05.05.2010, 12:49     Увелечение размера динамического массива #2
SiNn3R, увеличить размер выделенной памяти нельзя (по крайне мере средствами C++). Приведенный вами вариант единственный.
uggway
219 / 133 / 9
Регистрация: 12.04.2010
Сообщений: 248
06.05.2010, 09:20     Увелечение размера динамического массива #3
Для такого массива можно использовать
C
1
char *s = (char *)malloc(4);
Для изменения
C
1
s =  (char *)realloc(s, 10);
kravam
быдлокодер
1693 / 880 / 44
Регистрация: 04.06.2008
Сообщений: 5,438
06.05.2010, 09:46     Увелечение размера динамического массива #4
Я облажался
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.05.2010, 09:57     Увелечение размера динамического массива
Еще ссылки по теме:

Изменение размера динамического массива (resize) - C++
Учусь менять размер динамического массива. Помогите разобраться, пожалуйста. Допустим, есть какая-то структура "читатель библиотеки". Моя...

Изменение размера динамического массива объектов класса - C++
Всех приветствую! Нужно изменить размер динамического массива, в котором я храню созданные объекты. Делаю это так: Car *spis_temp =...

Double free or corruption при изменении размера динамического массива - C++
Сразу скажу, что у меня задание на работу с памятью, и std::vector по условию использовать запрещено. #include <iostream> #include...

Подскажите простую реализацию динамического массива и его использование с возможностью изменения его размера - C++
Подскажите простую реализацию динамического масива и его использование с возможностью изменения его размера........спасибо))) ...

Инициализация динамического массива - C++
Прога генерирует случайные числа(1-100) выводит их, пока не встретится 98, сохраняя все в массиве. Но мне нужно очень, чтобы программа сама...

Создание динамического массива - C++
Объявите указатель на массив типа double и предложите пользователю выбрать его размер. Далее напишите четыре функции: первая должна...


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

Или воспользуйтесь поиском по форуму:
CyBOSSeR
Эксперт C++
2300 / 1670 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
06.05.2010, 09:57     Увелечение размера динамического массива #5
kravam, плохой подход, т.к. нет копирования элементов и чреват утечками памяти.
Yandex
Объявления
06.05.2010, 09:57     Увелечение размера динамического массива
Ответ Создать тему
Опции темы

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