代码之家  ›  专栏  ›  技术社区  ›  Daniel Langr

为什么std::launder是constexpr函数?

  •  5
  • Daniel Langr  · 技术社区  · 7 年前

    我想知道为什么 std::launder 是一个 constexpr 功能。有没有可以在编译时使用的用例?

    1 回复  |  直到 7 年前
        1
  •  7
  •   Sebastian Redl    7 年前

    因为完全没有理由不这样做。它实际上只是一个对编译器有特殊附加意义的标识函数。它不能失败,不能有副作用。把它做成constexpr不需要花费任何费用,而且你永远不知道它什么时候有用。