2017-06-23 2 views
1

私はおそらくばかげた質問ですが、私は8x3配列を定義しようとしています(各行はセルの3 xyz-indicesの配列です。合計)をboost :: multi_arrayを使って返します。私の質問は、ある[DIM]このような8回入力するよりも短い/簡素どのような方法があります:私の配列を宣言するboost :: multi_array内のすべての配列の長さを指定します

static const int DIM = 3; 
static const int CELL = 8;  
boost::multi_array<double, CELL> ii(boost::extents[DIM][DIM][DIM][DIM][DIM][DIM][DIM][DIM]); 

は?ありがとう、トン!

答えて

1

boost::extentsは単なる発電機で、あなたの代わりに¹任意の互換性のExtentListモデルを使用することができます。

boost::array<size_t, 8> dims; 
std::fill(dims.begin(), dims.end(), DIM); 

をあなたはおそらく各次元のバッキングストレージを必要としない独自のモデルを書くことができます。

¹http://www.boost.org/doc/libs/1_63_0/libs/utility/Collection.html

関連する問題