Как memset на 2d вектор
Итак, у меня есть 2D вектор, которому я хочу присвоить значение num, я хочу увидеть, который лучше выполняет заполнение по сравнению с memset() как n ++ C++, у меня фактически возникают проблемы с установкой правильного синтаксиса кода, поскольку я всегда получаю ошибку сегментации, когда Я делаю это.
vector<vector<int>> matrix(10, vector<int>(10000000));
int main()
{
int num;
cin >> num;
int i = 0;
for (auto &i : matrix)
{
fill(i.begin(), i.end(), num);
}
return 0;
}
1 ответ
Как вы можете использовать memset
заstd::vector<int>
Я не думаю, что это будет такая хорошая идея, и это довольно уродливо сstd::vector
, Да, вы можете использоватьstd::fill
как вы используете его, но в вашем случае есть более простой способ, используйте std::vector
конструктор. Как это:
int main()
{
int num;
std::cin >> num;
std::vector<std::vector<int>> matrix(10, std::vector<int>(10000000, num));
return 0;
}