Используя boost :: array (так же, как tr1), он будет выглядеть так:
#include<boost/array.hpp>
class Test
{
public:
Test():constArray(staticConst) {};
Test( boost::array<int,4> const& copyThisArray):constArray(copyThisArray) {};
static const boost::array<int,4> staticConst;
const boost::array<int,4> constArray;
};
const boost::array<int,4> Test::staticConst = { { 1, 2, 3 ,5 } };
Необходим дополнительный статический член кода, поскольку { { 1, 2, 3 ,5 } }
недопустим в списке инициализации.
Некоторым преимуществом является то, что boost :: array имеет определенные итераторы и стандартные методы контейнера, такие как size, begin и end.