这是我的c++代码:
int** a;
try{
a = new int*[m];
for(int i = 0; i<m;i++)
a[i] = new int[n];
}
现在我正在使用for循环来初始化上述内容,方法如下:
for(int i = 0; i<m; i++)
for(int j = 0; i<n; j++)
a[i][j] = 0;
我正试图提高性能,因此认为使用memset会是个好主意。所以修改了我的代码,使用memset而不是for循环,如下所示:
memset(a, 0, sizeof(a[0][0]) * m * n);
但是在执行这个命令时,我遇到了分段错误。有人可以帮我找出问题吗?
a = new int*[m]; for(int i =0; i<m ;i++) a[i] = new int[n];
- user2175966