int myarray[2][3]
オブジェクトの初期化などに配列を使用しようとしていarray_view
ます。私は試しましたがarray_view<int, 2> a(2,3, myarray);
、うまくいきません。ベクトルでも同じことができるようにしたいと思います。何か案は?
質問する
1431 次
2 に答える
3
Baltramの方法は正しいです。そして、あなたは置き換えることができます
array_view<int, 2> a(2, 3, &my_composed_vector.front());
に
array_view<int, 2> a(2, 3, my_composed_vector);
簡単にするために。
さらに簡単な方法は次のとおりです。
int myarray[2][3];
int *p = &myarray[0][0];
array_view<int, 2> a(2, 3, p);
ありがとう、
于 2011-12-19T23:03:31.967 に答える
3
試すarray_view<int, 2> a(2, 3, *myarray);
編集 :
(固定サイズの) ベクトルのベクトルを直接使用して、array_view オブジェクトを初期化することはできません。
ただし、次のようなことができます。
vector< vector<int> > my_multi_vector; // Fill my_multi_vector with data
vector<int> my_composed_vector;
for(int i = 0, ie = my_multi_vector.size(); i != ie; ++i)
my_composed_vector.insert(my_composed_vector.end(), my_multi_vector[i].begin(), my_multi_vector[i].end());
array_view<int, 2> a(2, 3, &my_composed_vector.front());
于 2011-12-17T21:43:28.737 に答える