Есть ли быстрый способ, которым я могу сделать вектор вектора, используя только один тип элемента? - PullRequest
0 голосов
/ 21 марта 2020

Итак, я хочу создать вектор вектора, который имеет 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 ]

3 голосов
/ 21 марта 2020

Используйте конструктор

#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 голос
/ 21 марта 2020

Да, очень просто:

vector <vector<bool> > a( 4, vector<bool>(5, false) );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...