c++ - 重置二维 vector 数组

标签 c++ vector multidimensional-array

我有一个二维数组声明为:

vector<int> array[10][10];

清除数组中任何数据的最快方法是什么?我试过:

memset(array, 0, sizeof(array));

但这不起作用。

谢谢

最佳答案

这是一个二维 vector 数组。换句话说,它基本上是一个具有第 3 维动态的 3D 数组。如果你想创建一个动态二维数组,你可以这样做:

vector<vector<int> > array(10, vector<int>(10));

清除:

array.clear();
array.resize(10, vector<int>(10));

如果你想坚持你的数组,你可以用循环清除它:

for(unsigned int i = 0; i < 10; i++)
    for(unsigned int j = 0; j < 10; j++)
        array[i][j].clear();

关于c++ - 重置二维 vector 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17377909/

相关文章:

c++ - 二叉树栈溢出

c++ - 带有 vector 指针的迭代器

c++ - 迭代 vector 时越界

java - 二维数组中的搜索功能崩溃 (Java)

c++ - 在 C++ 中使用二维数组进行循环

c++ - 通过对数组、OpenCL、交错寻址求和得出无效结果

c++ - 为什么来自对齐的 std::array 的初始自动矢量化加载是标量? (g++/叮当++)

c++ - 重载流插入和提取操作符

c++ - 在 C++ 中返回 vector 元素的复制值

c - 在C中检测txt文件的EOF