0

配列要素 a[0]、a[1]... (各 a[x] で異なるベクトル) にベクトルを配置することは可能ですか? 可能であれば、指定された a[n] のベクトルの 1 つの要素にアクセスするにはどうすればよいですか?

4

3 に答える 3

2

あなたが持っている可能性のいくつか:

// Static array of vectors (not a good practice though) 
std::vector<int> vec_array1[size];

// Or dynamic array of vectors (still not very c++ish and error prone)
std::vector<int> *vec_array2;
vec_array = new std::vector<int>[size];

// Or vector of vectors
std::vector<std::vector<int> > vec_array3(size);

// Or std::array of vectors (in c++11)
std::array<std::vector<int>, size> *vec_array4;

いずれの場合でも、[]演算子を使用してベクトルにアクセスできます。

vec_array[0].push_back(5);

そして、次の[]ような 2 つの演算子を使用する要素:

vec_array[0][2] = 4;
于 2012-10-28T22:37:37.850 に答える
1

はい、できます。これを行う方法の例を次に示します。

std::array<std::vector<int>, n> array_of_vector;
//add to vector in array
array_of_vector[0].push_back(4);
//access element in vector in array
array_of_vector[0][0]=5;
于 2012-10-28T22:31:01.463 に答える
1

あなたは次のようなことができます

 std::vector< std::vector < type > > a;

だから、必要に応じてですa[i]std::vector

于 2012-10-28T22:31:29.293 に答える