C ++ constexpr if语句的灵活性

问题描述

我经常遇到这种情况:

if (A && B)
{
    C();
}
else
{
    D();
}

但是,当Aconstexpr时,如果B也不也是constexpr,则无法在if语句中指出这一点。 此外,启用constexpr的解决方法很丑:

if constexpr (A)
{
    if (B)
    {
        C();
    }
    else
    {
        D();
    }
}
else
{
    D();
}

是否存在使constexpr if语句更灵活的建议,即考虑constexpr中的哪些条件? 如果不是这样,除了假定编译器将做正确的事情(他们并不总是做正确的事情)以外,还有没有其他解决方法?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)