Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/151.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在c+;中设置2D数组的默认值+;_C++_Multidimensional Array - Fatal编程技术网

C++ 在c+;中设置2D数组的默认值+;

C++ 在c+;中设置2D数组的默认值+;,c++,multidimensional-array,C++,Multidimensional Array,我有一个像a[100000][100000]这样的大型2D数组。我不想迭代并给每个块赋值0。如何在初始化时给出数组默认值0?memset(a,0,sizeof a);一个通用选项:std::memcpy(尽管要小心),您也可以执行A[10][10]={{0}或a[10][10]={0}或a[10][10]={}@Caw:你测试过吗?这对我来说是新的,我希望你是对的。如果是这样,您应该将其作为答案添加到副本中。@Stefan是的,请参见6.7.8.21这会将所有值设置为0,但在初始化时不会如问题所

我有一个像
a[100000][100000]
这样的大型2D数组。我不想迭代并给每个块赋值
0
。如何在初始化时给出数组默认值
0

memset(a,0,sizeof a);一个通用选项:
std::memcpy
(尽管要小心),您也可以执行
A[10][10]={{0}
a[10][10]={0}
a[10][10]={}@Caw:你测试过吗?这对我来说是新的,我希望你是对的。如果是这样,您应该将其作为答案添加到副本中。@Stefan是的,请参见6.7.8.21这会将所有值设置为0,但在初始化时不会如问题所述那样执行此操作。您只需在声明后立即调用它即可。或者在构造函数中,或者在初始化函数中。
int a[100000][100000];
std::fill((int*)a,(int*)a+sizeof(a)/sizeof(int),0);