ページ 11

c++ arrayによる静的二次元配列

Posted: 2013年10月17日(木) 05:45
by yum@
a[2][3]のようにしてアクセスできるようにしたいのですが、
どうやって作ればいいのでしょうか?

Re: c++ arrayによる静的二次元配列

Posted: 2013年10月17日(木) 05:52
by h2so5
boost::multi_array が参考になると思います。
http://www.kmonos.net/alang/boost/class ... array.html

Re: c++ arrayによる静的二次元配列

Posted: 2013年10月17日(木) 06:47
by yum@

コード:

 
#include <boost/multi_array.hpp>

//////////////////////////

typedef boost::multi_array<int, 2> MyArray;
MyArray A( boost::extents[10][10] );
 
のようにすればいいんですね。
初boost でしたが理解できました。
ありがとうございます。

Re: c++ arrayによる静的二次元配列

Posted: 2013年10月17日(木) 22:19
by KORYUOH
std::arrayに関してはこういう書き方で対応できます。

コード:

#include <array>
typedef std::array<std::array<int,10>,10> matrix_t;

matrix_t A;
A[0][0] = 1;


Re: c++ arrayによる静的二次元配列

Posted: 2013年10月17日(木) 23:05
by h2so5
KORYUOH さんが書きました:std::arrayに関してはこういう書き方で対応できます。

コード:

#include <array>
typedef std::array<std::array<int,10>,10> matrix_t;

matrix_t A;
A[0][0] = 1;

その書き方だとメモリ領域が連続する保証がないので、C言語の二次元配列のようには使えません