gpt4 book ai didi

c++ - std::optional::value_or() - 惰性参数评估

转载 作者:IT老高 更新时间:2023-10-28 22:24:39 26 4
gpt4 key购买 nike

是否有可能以惰性方式评估 std::optional::value_or(expr) 参数,因此 expr 仅在没有的情况下计算值(value)?

如果不是,什么是合适的替代品?

最佳答案

#include <optional>

template <typename F>
struct Lazy
{
F f;

operator decltype(f())() const
{
return f();
}
};

template <typename F>
Lazy(F f) -> Lazy<F>;

int main()
{
std::optional<int> o;

int i = o.value_or(Lazy{[]{return 0;}});
}

DEMO

关于c++ - std::optional::value_or() - 惰性参数评估,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51695541/

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