STLコンテナ(たとえば、std :: vectorなど)を使用して、行列変数(つまり、列ベクトルの束)をメモリ内で連続させる方法を探しています)。 &mat[1][0]
はN
がcolumn1
の長さ&mat[0][N-1] + 1
、に等しくないという意味で連続していないSTLコンテナを使用して連続する行列変数を作成する
vector< vector<float> > mat;
mat.push_back (column1); // column1 is of type vector<float>
mat.push_back (column2); // column2 is of type vector<float>
:1つのオプションは、これです。メモリ内の連続ですが、私を強制
vector<float> mat;
float f1[] = {1., 2., 3.};
float f2[] = {4., 5., 6.};
mat.insert (mat.end(), f1, f1 + 3);
mat.insert (mat.end(), f2, f2 + 3);
はfloatの配列を使用するには、次の
別のオプション
はこれです。EDIT
それを明確にするためには、私はvector < vector<float> >
のようなオプションを好むので、私はSTLベクトルとして与えられた列にアクセスすることができます。
何が質問ですか? –
それは 'mat.insert(mat.end()、f2、f2 + 3);' –
なぜメモリ内で連続している必要がありますか? –