2013-07-25 100 views
0

我們都知道,這是正常初始化的int像這樣的數組:如何初始化一個std :: vector數組?

int intAry[] = {7, 8, 9}; 

所以,我想知道,怎麼能初始化STD數組:: vector的in the same way(只是在初步名單) :

typedef std::vector<int> type; 
type vecAry[] = {vec1, vec2, vec3}; 

我知道它是合法的編寫代碼作如下,現在我的問題是如何在一行代碼初始化vecAry:

type vec1; 
type vec2; 
type vec3; 
type vecAry = {vec1, vec2, vec3}; 
+1

'type v = {1,2,3}' – 0x499602D2

+2

爲什麼你需要向量數組? –

+0

@ 0x499602D2,你在開玩笑嗎?你不能用C++編譯。 – Triumphant

回答

4

在C++ 11,

type vecAry[] {{},{},{}}; 

,或者如果你想非空載體

type vecAry[] {{1,2,3},{4,5,6},{7,8,9}}; 

如果你停留在過去,你可以用空載體初始化它:

type vecAry[] = {type(), type(), type()}; 

但是,如果沒有像Boost Assignment library那樣的幫助程序,您無法用任意值初始化它:

type vecAry[] = {list_of(1)(2)(3), list_of(4)(5)(6), list_of(7)(8)(9)}; 
相關問題