有没有一种快速的方法可以仅使用一种类型的元素制作向量的向量?

时间:2020-03-21 15:35:52

标签: c++ vector

因此,我想创建一个向量vector,每个向量中有5个元素,第一个向量中有4个向量。我想使所有元素都为假。

我可以:

vector <vector<bool> > a;
for(int i=0; i<4; i++){
    vector<bool> tmp;
    for(int i=0; i<5; i++){
        tmp.push_back(False);
    a.push_back(tmp);

但是有什么更快的方法吗?

2 个答案:

答案 0 :(得分:3)

使用构造函数

#include <vector>

int main() {
    std::vector<std::vector<bool>> a(4, std::vector<bool>(5, false));
}

使用C ++ 17,您甚至不需要类型(wandbox):

#include <vector>

int main() {
    std::vector a(4, std::vector(5, false));
}

答案 1 :(得分:1)

是的,非常简单:

vector <vector<bool> > a( 4, vector<bool>(5, false) );