-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