将模板2D std:array初始化为0的最快方法

时间:2017-05-11 21:32:08

标签: c++ arrays templates stl initialization

我有一个模板化的2d数组std::array< std::array<ScalarType ,3> ,3 > my_array,我想在程序的不同时间将它们全部设置为零。好像我可以使用std::array::fill

my_array.fill(0);

不工作。如何正确填充二维数组呢?

2 个答案:

答案 0 :(得分:4)

我建议使用

my_array.fill({});

参数中的{}创建零初始化std::array<ScalarType, 3>,用于填充my_array的内容。

答案 1 :(得分:3)

改变这个:

my_array.fill(0);

到此:

my_array.fill({});

默认初始化数组的内容。