-3
我想创建一个包含变量大小(n1 n2 3和n4)的4个向量的列表,并且全部填充为0 我该怎么做?我可以做一个list<vector<float> > mylist
但是如何将mylist [0]的大小设置为n1等?向量列表(C++)
我想创建一个包含变量大小(n1 n2 3和n4)的4个向量的列表,并且全部填充为0 我该怎么做?我可以做一个list<vector<float> > mylist
但是如何将mylist [0]的大小设置为n1等?向量列表(C++)
// on a C++11 enabled compiler
std::list<std::vector<float>> listofvectors = {
std::vector<float>(n1, 0.f)
, std::vector<float>(n2, 0.f)
, std::vector<float>(n3, 0.f)
, std::vector<float>(n4, 0.f)
};
// or more traditional
std::list< std::vector<float> > listofvectors;
listofvectors.push_back(std::vector<float>(n1, 0.f));
// so forth
你必须将这些载体添加到您的列表:
mylist.push_back(vector<float>(n1, 0.f));
mylist.push_back(vector<float>(n2, 0.f));
mylist.push_back(vector<float>(n3, 0.f));
mylist.push_back(vector<float>(n4, 0.f));
vector
构造函数接受两个参数将会创建一个与所有设置为第二个参数的值(第一个参数)的元素。
这是格式化逗号的一种不寻常的方式。 :P – 2013-05-12 13:45:34
谢谢,很抱歉成为一个新手,但为什么你写0.f而不是0?一些与浮动有关的东西?我们不能只写0吗? – user2370139 2013-05-12 13:48:35
@sftrabbit不,为什么? Boost总是使用它,在指定初始化列表时会更好,因为第一个字符是':',接下来是逗号,因此格式化这些行更加容易。我猜,我们还没有看到多行初始化列表中的“标准”方式。 – 2013-05-12 14:00:39