Resultados da pesquisa a pedido "if-constexpr"

2 a resposta

Operador ternário equivalente para constexpr if?

Talvez eu tenha perdido alguma coisa, mas não consigo encontrar nenhuma dica: existe um operador constexpr ternário em C ++ 17 equivalente a constexpr-if? template<typename Mode> class BusAddress { public: explicit constexpr BusAddress(Address ...

1 a resposta

se constexpr (condição) como condicional em tempo de compilação

Eu quero usar um booleano constexpr (useF no exemplo abaixo) para ativar um recurso no código a seguir. Aqui, chamandoA::f(). Além disso, quero ser o alias-template (a) ser estarvoid no caso de desligar o recurso. Tentei usar uma instrução ...

1 a resposta

Preciso colocar constexpr depois do else-if?

Inspirado poresta resposta [https://stackoverflow.com/a/52355930/7151494], Tentei copiar e colar (e adicionar testes nomain()) este código: template<typename T> std::tuple<int, double> foo(T a) { if constexpr (std::is_same_v<int, T>) return {a, ...

2 a resposta

Comparando o parâmetro da função constexpr na condição constexpr-if causa erro

Estou tentando comparar um parâmetro de função dentro de uma instrução constexpr-if. Aqui está um exemplo simples: constexpr bool test_int(const int i) { if constexpr(i == 5) { return true; } else { return false; } }No entanto, quando eu ...

2 a resposta

Por que essa "variável externa indefinida" não resulta em um erro de vinculador no C ++ 17?

Eu compilei e executei o seguinte programa em um compilador C ++ 17 (Coliru). No programa, eudeclaradoaextern variável, masnão definiuisto. No entanto, o compilador não fornece umaerro de vinculador. #include <iostream> extern int i; // Only ...

1 a resposta

"Constexpr if" vs "if" com otimizações - por que o "constexpr" é necessário?

O C ++ 1z apresentará "constexpr if" - e se isso tiver uma ramificação removida, com base na condição. Parece razoável e útil. No entanto, não é possível ficar sem a palavra-chave constexpr? Eu acho que durante a compilação, o compilador deve ...