【发布时间】:2014-11-04 19:20:04
【问题描述】:
我想用STL算法生成一个向量来实现如下
const int N1 = 10; // This can vary
const int offset = 3; // This also can vary
std::vector<int> chans(10);
for (size_t i = 0; i < chans.size(); i++)
{
chans[i] = offset + N1*i;
}
有什么建议吗?
【问题讨论】:
-
@StevenBurnap,我知道 std::generate,但是为这样简单的事情编写一个单独的函数是否值得。因此,我一直在寻找替代品。
-
@StevenBurnap:谷歌本身并不是不投票的理由。该站点正试图成为开发人员的大型资源。 Google 不是开发者资源。我们应该希望 SO 内容成为第一个 google hit。也就是说,这是一个非常无稽之谈的问题,因为它没有遵循大多数关于提出好问题的准则。
-
@StevenBurnap,std::generate 是唯一的方法吗?如果是这样,请务必投反对票。
-
@MooingDuck:在这种情况下,
std::generate_n可能确实更可取(但尚不清楚您是否将其作为“一部分”包含在std::generate中,因为从概念上讲它是这样的)。
标签: c++ algorithm vector stl std