簡略化することを検討しているこのコードスニペットがあります。
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;
}
それらのコードはまだ機能しますか?そうでない場合、なぜですか?