【发布时间】:2018-09-29 17:11:02
【问题描述】:
所以我在这里有一个 2D 矢量,我想分配一个值 num,我想看看哪个执行更好的填充与 memset() 作为 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;
}
【问题讨论】:
-
在哪些方面表现更好?就不会混淆您的代码
memset的读者而言,这不是很好,因为没有明显的理由使用它;) -
向我们展示你的 memset 尝试?
-
与您的问题没有直接关系,但
int i = 0;声明毫无意义,您可以将其全部删除。 -
你不能把
memset随意改成ints。 -
memset 作用于字节,如果你将 memset 与
1一起使用,你将得到值 16843009 的整数,请参阅 this example on ideone