1、generate(ForwardIterator first, ForwardIterator last, Generator gen):对序列中每个元素,依次调用函数gen的返回值赋值
std::vector<int> c; c.resize(10); //确保c在赋值时真正存在元素 //用匿名函数的返回值给c中的每个元素赋值 std::generate(c.begin(), c.end(), [](){ return 100; }); //输出c for (auto var : c) { std::cout << var << ","; } //打印结果:100,100,100,100,100,100,100,100,100,100,
2、generate_n(OutputIterator first, Size n, Generator gen):对序列中的n个元素,依次调用指定函数的返回值赋值
std::vector<int> c; c.resize(10); //确保c在赋值时真正存在元素 //用匿名函数的返回值给c中的前5个元素赋值 std::generate_n(c.begin(), 5, [](){ return 100; }); //输出c for (auto var : c) { std::cout << var << ","; } //打印结果:100,100,100,100,100,0,0,0,0,0,