C++ 头文件中的静态constexpr引用或静态constexpr对象

C++ 头文件中的静态constexpr引用或静态constexpr对象,c++,static,one-definition-rule,C++,Static,One Definition Rule,在标准化文件中,建议将硬件干扰大小声明为静态参考,以减轻一些ODR违反风险 static constexpr const std::size_t& hardware_destructive_interference_size = implementation-defined; static constexpr const std::size_t& hardware_constructive_interference_size = implementation-defined;

在标准化文件中,建议将硬件干扰大小声明为静态参考,以减轻一些ODR违反风险

static constexpr const std::size_t& hardware_destructive_interference_size = implementation-defined;
static constexpr const std::size_t& hardware_constructive_interference_size = implementation-defined;
我想知道为什么将这些变量声明为引用比只声明常量对象更好,如:

static constexpr std::size_t hardware_destructive_interference_size = implementation-defined;
static constexpr std::size_t hardware_constructive_interference_size = implementation-defined;

作者希望这些值在编译时已知,在链接时才知道。所以可以说,它们追逐自己的尾巴。