如何在 2d 矢量上进行内存设置
How to memset on 2d vector
所以我这里有一个 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
来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;
}
相关文章:
- 循环中的变量被设置为下一个数组的元素始终具有相同的内存地址?
- C++ 由于类析构函数中的指针设置为 NULL 而导致的内存泄漏
- 如何在 2d 矢量上进行内存设置
- 如何设置指针的内存地址
- C++从 Java 角度设置和映射内存管理
- 在一个步骤中设置结构成员变量的内存利用
- 使用PYBIND11,如何为Array_t对象设置基础内存的所有权
- 内存堆,动态设置阵列
- 在C++中设置节点的内存地址
- 由 strcpy 设置的解除分配字符 * 时内存泄漏?
- 内存有效的加权设置分配,具有中等大小的集合
- 动态创建对象并将其内存设置为 0
- 我已经将虚拟内存设置为20GB,但由于内存不足,代码仍然无法工作
- 验证内存设置为默认值后数组中的更改
- 为什么内存设置在这种情况下会失败
- 如何对布尔数组进行内存设置
- 内存设置一个对象
- 此结构体的生命周期和内存设置
- 将堆内存设置为只读
- 为什么全局结构和成员变量(相同类型)的内存设置为全局不同