C ++:如何有效地将值分配给向量列表?

时间:2011-03-24 11:22:07

标签: c++ list stl vector

阅读this question,我认为我需要使用这样的东西:

list<vector<double> > psips;

用于c ++中的模拟。问题是,启动包含N向量的列表的最简单(且合理有效)的方法是什么,每个向量都包含d个零点?

干杯!

3 个答案:

答案 0 :(得分:4)

std::list<std::vector<double> > psips(N, std::vector<double>(d));

请参阅#3 here和#2 here

答案 1 :(得分:2)

您可以使用stl构造函数,并将默认值设置为零:

explicit vector ( size_type n, const T& value= T()); explicit list ( size_type n, const T& value = T())

所以你要做的是:

vector< double > example( d, 0);

list< vector < double > > your_list(N, example);

你有一个N向量和d向量的列表,其中包含零。

答案 2 :(得分:1)

 std::list<std::vector<double> > psips(100, std::vector<double>(10, 20.0));

列表中的每个向量都有10个元素,每个元素都使用20.0初始化。列表中此类向量的总数为100