Что такое 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]);
}