在 C 中我们使用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]);
}