2016-11-30 7 views
-2

Мне нужно уметь Инициализировать 2D-вектор int's в та же линия, в которой я ее создаю.Инициализация 2d вектора с использованием только 1 строки C++

Чтобы быть более конкретным, я должен создать 3x2 размера 2D вектор и установить все его значение на 0, используя только 1 строку коды.

Есть ли способ сделать это без использования цикла for и нескольких строк кода?

+0

Подсказка: Посмотрите на доступные конструкторах для 'VECTOR'. –

+0

Is ** 1 строка кода ** критическая? Похоже, что вам нужно ** одно утверждение **; заявление может быть на нескольких строках. –

ответ

0

Попробуйте это:

std::vector<std::vector<int>> twoDimVector(3, std::vector<int>(2, 0)); 
0

Если у вас есть маленькие 2d векторов (например, как вы предложили), она может быть достигнута (с помощью brace-init) quity легко.

#include <vector> 
#include <iostream> 

int main(){ 

    std::vector<std::vector<int>> vec{ { 0, 0 }, { 0, 0 }, { 0, 0 } }; 

    std::cout << "vec size = " << vec.size() << "x" << vec[0].size() << std::endl; 

    return 0; 
} 

Выход:

vec size = 3x2