Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.72/29: Рейтинг темы: голосов - 29, средняя оценка - 4.72
0 / 0 / 0
Регистрация: 19.09.2008
Сообщений: 10
1

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

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


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

char *str = new char[4];

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

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

Но это как-то громоздко, нет ли вариантов быстрее?
Заранее благодарю =)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.05.2010, 12:05
Ответы с готовыми решениями:

Измерение размера динамического массива
Как можно изменять размер динамического массива? К примеру, сначала у меня: <имя_класса>...

Изменение размера динамического массива
вводится числовой массив неизвестной длинны, каждое число заносится в динамический массив. using...

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

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

__________________
Помогаю в написании студенческих работ здесь.
Записывайтесь на профессиональные курсы C++ разработчиков
4
Эксперт С++
2334 / 1707 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
05.05.2010, 12:49 2
SiNn3R, увеличить размер выделенной памяти нельзя (по крайне мере средствами C++). Приведенный вами вариант единственный.
1
221 / 135 / 48
Регистрация: 12.04.2010
Сообщений: 248
06.05.2010, 09:20 3
Для такого массива можно использовать
C
1
char *s = (char *)malloc(4);
Для изменения
C
1
s =  (char *)realloc(s, 10);
0
быдлокодер
1720 / 907 / 106
Регистрация: 04.06.2008
Сообщений: 5,624
06.05.2010, 09:46 4
Я облажался
0
Эксперт С++
2334 / 1707 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
06.05.2010, 09:57 5
kravam, плохой подход, т.к. нет копирования элементов и чреват утечками памяти.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.05.2010, 09:57

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

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

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

Функция изменения размера динамического массива
Здравия желаю, Друзья. Застрял вот на чем: #include <iostream> #include <conio.h> using...

Изменение размера динамического массива объектов класса
Всех приветствую! Нужно изменить размер динамического массива, в котором я храню созданные объекты....


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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