Расширение массива в cpp

Возможно ли реализовать реализовать именно расширение памяти? Или хотя бы при помощи манипуляций с указателями избежать лишнего копирования данных? Сейчас использую следующий алгоритм:

  1. Выделить память под новый объект
  2. Поэлементно скопировать данные
  3. Удалить указатель на изначальную версию массива
  4. Присвоить указатель на новый массив изначальному указателю
CountTarget++;
TTarget** nTargets = new TTarget* [CountTarget];
    
for (unsigned int i = 0; i < CountTarget-1; i++)
  nTargets[i] = Targets[i];
delete[] Targets;
    
Targets = nTargets;

Ответы (0 шт):