Joh*_*ane 6 c++ constants c++-standard-library c++20 inline-variable
C++20 引入了标准库头文件<numbers>,在命名空间中定义std::numbers了数学常量,例如sqrt2和sqrt3。它提供像inv_sqrt3,但不是inv_sqrt2。为什么inv_sqrt2不见了?
为什么
inv_sqrt2不见了?
该库尽可能精确地定义了一组最小的常用常量。在不引入舍入误差的情况下表达 (?3) -1可能很棘手,因此inv_sqrt3。但是, (?2) -1可以很容易地表示为:sqrt2 / 2,因此inv_sqrt2未定义。