在C++中,可以使用lambda函数作为std::generate中的生成器函数,避免手动创建用于包装new[]调用的lambda函数。下面是一个示例代码:
#include
#include
#include
int main() {
int n = 5;
std::vector vec(n);
std::generate(vec.begin(), vec.end(), [i = 0]() mutable {
return i++;
});
for (int i : vec) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
在这个例子中,我们创建了一个大小为5的vector,并使用std::generate函数来填充vector的元素。lambda函数[i = 0]() mutable { return i++; }
被用作生成器函数,它会返回递增的整数值。
使用lambda函数作为生成器函数的好处是,我们不需要手动创建用于包装new[]调用的lambda函数。lambda函数可以在生成器函数中直接使用,从而简化了代码。
下一篇:避免手动输入后端URL