constexpr引用有什么用吗

Is there any use for constexpr references?

本文关键字:什么 引用 constexpr      更新时间:2023-10-16

正如标题所说,constexpr引用有什么有用的情况吗?像这样:

static const int myvar = myfunc();  // myfunc is not constexpr
constexpr const int& myref = myvar;

myref无论如何都不能用于需要常量表达式的地方,因为它引用的变量不是常量表达式。我看不出这与有什么不同

static const int myvar = myfunc();
const int& myref = myvar;

生成的程序集似乎也是相同的。

constexpr&在程序启动前初始化,并且必须绑定到具有静态存储持续时间的变量,这对于const&来说都不是必需的。