Projectのなかのひとのブログ。std::random_devicestd::valarrayだと基本的には1次元のデータ構造に対してスライスを考えて多次元要素集合としてアクセスする事になる。Boost.MultiArrayなら基本的には多次元のデータ構造に対して必要ならば1次元のRAWなデータ構造も用いる事ができる。多くの場合は後者の方が扱い易くて助かる。多次元のBoost.MultiArrayは内部構造としては連続領域が確保されているので、1次元のRAWなデータ構造に直接触れたい場合は、origin()メンバー関数により先頭要素のポインターを取得すれば良い。目的Boost.MultiArrayを用いて多次元の要素集合に対しランダムなインデックス値を放り込みたい。Reference蛇足Boost.MultiArrayは.size()メンバー関数ではコンテナー全体の要素数は得られない。次元毎の要素数の配列を得るもの。概形が得られるのでshape。概形に基づく1次元内側の要素群を得るもの。