Mc *_*ile 5 c++ vector memset fill
我试图将 2D 向量中所有元素的值设置为特定值。据我所知,不能像将 memset 用于数组那样将其用于向量。因此,我必须使用 std::fill 将 2D 向量中的所有元素设置为特定值。但是,我知道如何对一维向量使用填充,如下所示。
vector<int> linearVector (1000,0);
fill(linearVector.begin(),linearVector.end(),10);
但是,当我尝试对 2D 矢量执行类似的操作(如下所示)时,它不起作用。
vector<vector<int> > twoDVector (100,vector <int> (100,0));
fill(twoDVector.begin(),twoDVector.end(),10);
PS:我知道我可以轻松地设计一个嵌套的 for 循环来手动将 2D 向量的元素设置为我想要的值。然而,这在我的程序中是不可行的,因为二维向量的大小非常大,并且还有其他耗时的函数(递归函数)并行发生。
你可以这样使用:
fill(twoDVector.begin(), twoDVector.end(), vector<int>(100, 10));
| 归档时间: | 
 | 
| 查看次数: | 9344 次 | 
| 最近记录: |