【发布时间】:2020-06-25 17:36:37
【问题描述】:
在 C++20 中,std::swap 变为 constexpr 函数。
我知道标准库在标记事物 constexpr 方面确实落后于语言,但到 2017 年,<algorithm> 几乎是 constexpr 和其他一些东西一样。然而 - std::swap 不是。我隐约记得有一些奇怪的语言缺陷阻止了该标记,但我忘记了细节。
有人能简明扼要地解释一下吗?
动机:需要了解为什么在 C++11/C++14 代码中标记类似 std::swap() 的函数 constexpr 可能是个坏主意。
【问题讨论】: