gpt4 book ai didi

c++ - 通过引用递归 lambda

转载 作者:太空宇宙 更新时间:2023-11-04 12:10:36 29 4
gpt4 key购买 nike

这段代码是否正确?

std::function<int(int)> f = [&f](int n) -> int
{
return n <= 1 ? 1 : n * f(n - 1);
};

int x = f(42);

对象构造在作为引用传递给 lambda 之前是否存在任何潜在问题?或者这段代码绝对正确?

按值捕获 f 会导致 msvc2010 编译器崩溃。

最佳答案

这应该可以正常工作,只要您遵循对存储在 lambda 中的堆栈变量的引用规则。它是定义明确的 C++11 代码。

关于c++ - 通过引用递归 lambda,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10046035/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com