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包,它提供了一种更简洁的方法
希望这有帮助 这是一个双向量的向量,类似于三维双向量数组。请看这里:非常感谢,这是一个很好的解释。