首页 > 解决方案 > 在非 constexpr if 之后的“else if constexpr”是否合法?

问题描述

else将子句写入if constexpr条件很简单:

if constexpr (my_condition)
{
}
else // No special  syntax, this branch is constexpr
{
}

我的初始if不是 constexpr 条件的情况下,我一直在看到这样的代码:

if (some_condition)
{
}
else 
{
  if constexpr (my_condition)
  {
  }
}

虽然看起来很奇怪,但我认为下面的代码是等价的:

if (some_condition)
{
}
else if constexpr (my_condition)
{
}

因为 C++ 并没有真正的elif子句,而只是else链接到另一个if. else if constexpr在非 constexpr 之后写是否正确if

标签: c++constexpr

解决方案


推荐阅读