Step 9 (S-3139)

From Stepik Wiki
Jump to: navigation, search

Step on Stepik: https://stepik.org/lesson/542/step/9

В этой задаче вам нужно реализовать функцию resize. Функция resize принимает на вход три аргумента: указатель на область памяти, выделенную с помощью оператора new[], размер области (size) и новый размер (new_size). Функция должна выделить память размера new_size, скопировать в нее данные из переданной области памяти, освободить старую область памяти и вернуть выделенную область памяти нового размера со скопированными данными.  

Обратите внимание, что память, возвращенная из функции, будет освобождена с помощью оператора delete[]. Несмотря на то, что входной тип данных — это const char *, не стоит рассчитывать, что там хранится C-style строка. При выполнении задания также учтите, что new_size может быть меньше size. 

Требования к реализации: при выполнении данного задания вы можете определять любые вспомогательные функции. Вводить или выводить что-либо не нужно. Определять функцию main не нужно.