У меня есть этот фрагмент кода, который я рассматриваю для упрощения:
if (numberOfResults > 1)
{
trackResult_ = new TrackResult[numberOfResults];
for (int i=0; i < numberOfResults; i++)
{
// Make a deep copy
TrackResult tempResult = result[i];
TrackResult * clone = new TrackResult(tempResult);
trackResult_[i] = *clone;
}
storeJointResults(trackResult_, numberOfResults);
}
else
{
trackResult_ = new TrackResult(*result);
}
(у меня нет «выбора», кроме как использовать здесь простой динамический массив. Векторы считаются «слишком сложными» на моем рабочем месте)
Мне интересно, смогу ли я сойти с рук
// even if we just have one result, we init an array size of one
trackResult_ = new TrackResult[numberOfResults];
Однако я в нескольких пунктах проверяю количество результатов и действую соответственно
if (numberOfResults_ == 1)
{
velocity = trackResult_.velocity;
}
Будет ли этот код работать? Если нет, то почему?