Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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++编写代码,我发现这条线: vector<vector<vector<double> > > h(hist1, vector<vector<double> >(hist2, vector<double>(nb_bins, 0.0))); 向量h(hist1,向量(hist2,向量(nb_-bins,0.0));_C++_Vector_Initialization - Fatal编程技术网

c+中的向量声明+; 我试图用C++编写代码,我发现这条线: vector<vector<vector<double> > > h(hist1, vector<vector<double> >(hist2, vector<double>(nb_bins, 0.0))); 向量h(hist1,向量(hist2,向量(nb_-bins,0.0));

c+中的向量声明+; 我试图用C++编写代码,我发现这条线: vector<vector<vector<double> > > h(hist1, vector<vector<double> >(hist2, vector<double>(nb_bins, 0.0))); 向量h(hist1,向量(hist2,向量(nb_-bins,0.0));,c++,vector,initialization,C++,Vector,Initialization,我不明白这意味着什么,你们能帮我吗?谢谢。我们打开包装吧 vector<vector<vector<double> > > h(hist1, vector<vector<double> > (hist2, vector<double> (nb_bins, 0.0) ) ); 向量 h(历史记录1, 向量(hist2, 向量(nb_-bins,0.0));

我不明白这意味着什么,你们能帮我吗?谢谢。

我们打开包装吧

vector<vector<vector<double> > >
  h(hist1,
    vector<vector<double> > (hist2,
                             vector<double> (nb_bins, 0.0) ) );
向量
h(历史记录1,
向量(hist2,
向量(nb_-bins,0.0));
这是名为
h
vector
类型变量的声明
h
通过调用其构造函数进行初始化,作为第一个参数
hist1
传入,作为其第二个参数传入类型为
vector
的临时对象。该临时对象依次通过调用其构造函数进行初始化,传入
hist2
作为其第一个参数,传入一个临时
vector
作为其第二个参数。然后通过调用其构造函数初始化第二个临时变量,将
nb_bins
作为第一个参数传递,将
0.0
作为第二个参数传递

结果是,它最终充当一个三维数组,其中每个值都被初始化为0.0

也就是说,如果您想使用3D阵列,请查看Boost.MultiArray包,它提供了一种更简洁的方法


希望这有帮助

这是一个双向量的向量,类似于三维双向量数组。请看这里:

非常感谢,这是一个很好的解释。