Если вы хотите вернуть массив из четырех объектов, вам не обязательно использовать динамическое выделение или std::vector
.Вам просто нужно обернуть массив в классе, чтобы вы могли его вернуть.Например:
struct GetNeighborsResult
{
CoordwValue Value[4];
};
GetNeighborsResult getNeighbors();
Boost, TR1 и C ++ 0x имеют контейнерный шаблон класса array
, который вы можете легко использовать для этой цели:
std::array<CoordwValue, 4> getNeighbors();
Преимущество использования array
состоит в том, что вам не нужно писать отдельный класс для каждого имеющегося у вас типа и числа, вы можете просто использовать шаблон класса.
Если вы решили вернуть указательдля динамически распределяемого массива используйте умный указатель для управления памятью.Нет никаких оснований не использовать умный указатель.