Resultados de la búsqueda a petición "if-constexpr"

1 la respuesta

"Constexpr if" frente a "if" con optimizaciones: ¿por qué se necesita "constexpr"?

C ++ 1z introducirá "constexpr if", un if que tendrá una de las ramas eliminadas, según la condición. Parece razonable y útil. Sin embargo, ¿no es posible prescindir de la palabra clave constexpr? Creo que durante la compilación, el compilador ...

2 la respuesta

Operador ternario equivalente para constexpr if?

Tal vez me perdí algo, pero no puedo encontrar ninguna pista: ¿hay un operador ternario constexpr en C ++ 17 equivalente a constexpr-if? template<typename Mode> class BusAddress { public: explicit constexpr BusAddress(Address device) : ...

1 la respuesta

if constexpr (condición) como condicional en tiempo de compilación

Quiero usar un constexpr bool (useF en el ejemplo a continuación) para habilitar una función en el siguiente código. Aquí, llamandoA::f(). Además, quiero ser la plantilla alias (a) servoid en el caso apago la función. Intenté usar una ...

2 la respuesta

¿Por qué esta "variable externa indefinida" no produce un error de enlace en C ++ 17?

He compilado y ejecutado el siguiente programa en un compilador C ++ 17 (Coliru). En el programa, yodeclaradounextern variable, perono definióeso. Sin embargo, el compilador no da unerror de enlazador. #include <iostream> extern int i; // Only ...

2 la respuesta

Comparar el parámetro de la función constexpr en la condición constexpr-if causa error

Estoy tratando de comparar un parámetro de función dentro de una declaración constexpr-if. Aquí hay un ejemplo simple: constexpr bool test_int(const int i) { if constexpr(i == 5) { return true; } else { return false; } }Sin embargo, cuando ...

1 la respuesta

Necesito poner constexpr después de else-if?

Inspirado poresta respuesta [https://stackoverflow.com/a/52355930/7151494], Intenté copiar y pegar (y agregar pruebas enmain()) este código: template<typename T> std::tuple<int, double> foo(T a) { if constexpr (std::is_same_v<int, T>) return {a, ...