用于生成向量的STL算法

The*_*ere -1 c++ algorithm stl vector std

我想用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;
}
Run Code Online (Sandbox Code Playgroud)

有什么建议?

Jar*_*d42 6

使用C++ 14:

std::generate(chans.begin(), chans.end(),
    [=, count = 0]() mutable { return offset + N1 * count++; });
Run Code Online (Sandbox Code Playgroud)

实例