gpt4 book ai didi

c++ - 我可以从 constexpr 函数返回一个可选值吗?

转载 作者:可可西里 更新时间:2023-11-01 15:49:17 27 4
gpt4 key购买 nike

  • 我可以从 constexpr 函数返回一个 optional 吗?
  • 为什么?
  • 如果是,它是如何工作的?

我对 boost::optionalstd::optional 都很感兴趣。它们的行为是否相同?

最佳答案

boost::optional不能由 constexpr 返回功能。或者至少,文档对此不提供任何保证

然而,std::optional ,如已接受的 C++14 提案所定义,可以constexpr 返回功能。但如果 optional 的类型参数是微不足道的破坏。

这允许 std::optional 的析构函数在那些情况下是微不足道的。到那时,销毁物体就没有困难了,所以没有什么能阻止std::optional从文字类型开始。

The proposal is quite clear on this.如果T是微不足道的可破坏的,那么 optional 的大部分构造函数将是 constexpr , 和 optional<T>将是文字类型。因此,它可以在 constexpr 中创建功能。

关于c++ - 我可以从 constexpr 函数返回一个可选值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16419968/

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