Zam*_*dia 2 c++ memset fill 2d-vector
所以我在这里有一个 2D 向量,我想为其分配一个值 num,我想看看作为 C++ 菜鸟的填充与 memset() 哪个更好,我实际上在设置正确的代码语法时遇到了问题,因为我总是在以下情况下遇到分段错误我做。
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;
}
Run Code Online (Sandbox Code Playgroud)
您可以使用memsetforstd::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;
}
Run Code Online (Sandbox Code Playgroud)