Resultados de la búsqueda a petición "c++17"
"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 ...
¿Las referencias constantes en enlaces estructurados extienden la vida útil del objeto descompuesto?
Hace la escrituraconst auto& [a, b] = f(); garantía de extender la vida útil del objeto devuelto desdef(), o al menos los objetosa yb ¿están obligados a? Leyendo a través dela ...
¿Por qué las declaraciones de descomposición no pueden ser constexpr?
Considere el siguiente fragmento para probar las próximas declaraciones de descomposición de características de C ++ 17 (anteriormente conocidas como enlaces estructurados) #include <cassert> #include <utility> constexpr auto divmod(int n, int ...
¿Es posible asegurar que una función constexpr se llame como máximo una vez en tiempo de compilación?
Como se pregunta en el título: ¿Es posible asegurar que se llame a una función constexpr como máximo una vez en tiempo de compilación? Esto claramente no será posible si la función no es constepxr; Podría escribir una función que se llama cada ...
¿Dónde usar std :: variant over union?
Por favor explique cuál es la diferencia entreunion ystd::variant y por quéstd::variant fue introducido en el estándar? En que situaciones debemos usarstd::variant sobre la vieja escuelaunion?
¿Por qué se requiere <> cuando se especifica una clase de plantilla que tiene valores predeterminados para todos sus parámetros de plantilla?
¿Hay una buena razón por la cual<> es obligatorio al especificar una clase de plantilla que tiene valores predeterminados para todos sus parámetros de plantilla? p.ej. #include <iostream> template<typename T = int> class C { public: T obj = 0; ...
Detección contigua de iterador
C ++ 17 introdujo el concepto de ContiguousIterator http://en.cppreference.com/w/cpp/iterator [http://en.cppreference.com/w/cpp/iterator]. Sin embargo, no parece que haya planes para tener uncontiguous_iterator_tag (de la misma manera que ...
¿Qué tipo hará que "std :: has_unique_object_representations" devuelva falso?
Acppref [http://en.cppreference.com/w/cpp/types/has_unique_object_representations], Veo un extrañotipo corrector de rasgos: std::has_unique_object_representations Por su descripción, no puedo imaginar ningún tipoT ...
¿Cómo hacer que la 'evaluación de cortocircuito' también esté disponible en 'plegar expresiones'?
#include <type_traits> #define FORWARD(arg)\ std::forward<decltype(arg)>(arg) template<typename... Args> constexpr bool AndL(Args&&... args) { return (... && FORWARD(args)); } template<typename... Args> constexpr bool AndR(Args&&... args) { ...
Constructor con argumentos de plantilla sin tipo
Enesta pregunta [https://stackoverflow.com/questions/3960849/c-template-constructor]se dice que es imposible usar directamente argumentos de plantilla para el constructor de clases, porque si escribes algo como struct S{ template<typename T> S() ...