Что такое C ++ версия realloc () для выделения нового буфера и копирования содержимого из старого?

В Си мы использовалиmalloc(), free(), но в C ++ вы используетеnew, delete, но в C мы также имеемrealloc, который выделит новый блок и скопирует старые данные (общий минимум), а затем освободит старый блок данных. Так что же это за версия на C ++? Я могу написать свой, конечно, но есть ли встроенная вещь?

main() {
  int i; char *x = malloc(3);
  x[0] = 10;
  x[1] = 20;
  x[2] = 30;
  realloc(x, 4);
  x[3] = 40;
  for (i = 0; i < 4; i++) printf("%i\n", x[i]);
}

Ответы на вопрос(4)

Ваш ответ на вопрос