Безопасно ли перераспределять память, выделенную новой?
Из того, что написаноВот, new
выделяет вбесплатный магазин в то время какmalloc
использованиякуча и два термина часто означают одно и то же.
Из того, что написаноВот, realloc
может переместить блок памяти в новое место. Если свободное хранилище и куча - это два разных пространства памяти, значит ли это, что это проблема?
В частности, я хотел бы знать, безопасно ли использовать
int* data = new int[3];
// ...
int* mydata = (int*)realloc(data,6*sizeof(int));
Если нет, есть ли другой способrealloc
память выделена сnew
безопасно? Я мог бы выделить новую область иmemcpy
содержание, но из того, что я понимаюrealloc
может использовать ту же область, если это возможно.