如何在C ++中清除2D矢量

桑迪普

谁能建议我,我该如何清除C ++中的2D向量。我必须编写需要在Matrix,Process和Clear Matrix中读取的程序,并为下一次读取操作做好准备。我已经创建了2D数组,其中包含vector>我正在填充,但无法重置。以下是供参考的代码。

#include<iostream>
#include<vector>
#include<algorithm>


using namespace std;


#define MAX 501
typedef std::vector<std::vector<int>> vec2d;
vec2d matrix(MAX , std::vector<int>(MAX, 0));

void main()
{
    int tc; 
    int N;

    for(tc =0 ; tc < 20;tc++)
    {
        int temp;
        scanf("%d",&N); 

        int result =0;

        for(int i = 0; i < N;i++)
        {
            for(int j=0; j<N;j++)
            {               
                scanf("%d",&temp);
                matrix[i][j]=temp;
            }
        }
        // Do Some processing with 2D vectory Array 

        matrix.clear(); // Now I want to clear 2D vector but only vector contents, and get ready for new input reading  
                    // How do I do it with 2d Vector ? 
        cout << result << endl;
    }
}
贾罗德42

另一种选择是:

matrix = vec2d(MAX , std::vector<int>(MAX, 0));

为了避免每次分配,您可以缓存该值:

static const vec2d matrix_zero = vec2d(MAX , std::vector<int>(MAX, 0));

每次您要重置矩阵时:

matrix = matrix_zero;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C ++ 2D矢量清除是否按预期工作?

来自分类Dev

C ++中的2D矢量问题

来自分类Dev

如何在AS3中制作2D矢量

来自分类Dev

如何在std :: set中存储2D几何矢量

来自分类Dev

C ++ 2D矢量地图

来自分类Dev

C ++ 2D矢量出错

来自分类Dev

C ++ 2D矢量SIGSEV错误

来自分类Dev

如何在MATLAB中生成2D随机矢量?

来自分类Dev

如何在2D向量中删除列,C ++

来自分类Dev

如何在C中填充2D结构数组?

来自分类Dev

如何在C ++中解构2D向量

来自分类Dev

如何在C中打印2D数组

来自分类Dev

如何在2D向量中删除列,C ++

来自分类Dev

C ++ / C#路径/矢量绘图库(2D)

来自分类Dev

如何计算2D矢量形状的中间轴?

来自分类Dev

2D游戏矢量运动C#

来自分类Dev

C ++ 2D矢量按列搜索

来自分类Dev

C ++ 2d矢量下标超出范围错误

来自分类Dev

2D游戏矢量运动C#

来自分类Dev

如何在C ++中定义双精度矢量的矢量?

来自分类Dev

如何在C中的动态2D字符数组中查找行数?

来自分类Dev

如何在C中的结构的指针成员中存储2d数组的内存地址

来自分类Dev

如何在C中对2D数组中的字符串进行排序

来自分类Dev

如何在C中的2d数组中的特定位置添加值

来自分类Dev

如何在C ++中访问2D动态数组中的1个元素

来自分类Dev

如何在 C++ 中的 2d 哈希表中查找值

来自分类Dev

如何用2D蒙版遮罩3D张量并保持原始矢量的尺寸?

来自分类Dev

如何在C#中保存2D形状?

来自分类Dev

您如何在C中释放2D malloc数组?