2012-10-28 111 views
0

是否可以在數組元素a [0],a [1] ...(每個a [x]中的不同矢量)中放入一個矢量? 如果可能的話,我如何訪問給定a [n]中的矢量的一個元素?將矢量放在數組元素中

+0

是的,會像[n] [i]那樣訪問,其中i是vect中元素的索引或 – MimiEAM

+0

等待,通過數組你是指靜態數組,你想要放入動態向量還是什麼? – Acorbe

回答

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); 

而且元素:

vec_array[0][2] = 4; 
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; 
1

,你可以這樣做

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

所以,a[i]std::vector因爲你需要。