В C мы использовали malloc(), free()
, но в С++ вы используете new, delete
, но в C мы также имеем realloc
, который будет выделять новый блок и копировать старые данные (общий минимум), а затем освобождать старые данные bock. Итак, что такое версия на С++? Конечно, я могу написать свои собственные, но есть ли встроенная вещь?
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]);
}