STL::generate、generate_n用法
#include <iostream>
#include <algorithm>
class
{
public:
void CarryParams(int _step = 1)
{
step = _step;
}
int operator()()
{
static int i = 0;
return i+= step;
}
private:
int step;
}SetValue;
int SetValue2()
{
static int i = 0;
return i++;
}
int main()
{
using namespace std;
int a[10];
SetValue.CarryParams(2);//携带参数
std::generate(a, a + 10, SetValue);//给定范围用SetValue函数对象来给数组赋值
//std::generate_n(a, 10, SetValue2);//给定长度用generate_n
for(int i = 0; i < 10; i++)
{
cout<<a[i]<<endl;
}
return 0;
}

本文通过一个具体的示例介绍了C++ STL中generate和generate_n函数的使用方法。示例展示了如何利用函数对象和普通函数来填充数组,以及如何为函数对象传递参数。通过对这些函数的理解,可以更高效地进行数组初始化。
188

被折叠的 条评论
为什么被折叠?



