簡體   English   中英

如何初始化std :: vector數組?

[英]how to initialize an array of std::vector?

眾所周知,像這樣初始化一個int數組是正常的:

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

因此,我想知道,如何in the same way初始化std :: vector數組(僅在初始列表中):

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

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

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

在C ++ 11中,

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

或者如果您想要非空向量

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

如果您被困在過去,則可以使用空向量對其進行初始化:

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

但是如果沒有像Boost Assignment庫中那樣的某種輔助工具,就無法使用任意值來初始化它:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM