Копирование из одного динамически распределенного массива в другой C ++

Кажется, у него должно быть очень простое решение, но я просто не могу понять. Я просто создаю массив с измененным размером и пытаюсь скопировать все исходные значения, а затем, наконец, удаляю старый массив, чтобы освободить память.

void ResizeArray(int *orig, int size) {
    int *resized = new int[size * 2]; 
    for (int i = 0; i < size; i ++)
        resized[i] = orig[i];
    delete [] orig;
    orig = resized;
}

Кажется, здесь происходит то, чтоresized[i] = orig[i] копирует значения по ссылке, а не по значению, так как печать оригинала после изменения размера возвращает кучу ненужных значений, если я не закомментируюdelete [] orig, Как я могу сделать глубокую копию с оригинала, чтобы изменить размер, или есть другая проблема, с которой я сталкиваюсь? Я не хочу использовать std :: vector.

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

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