Resultados de la búsqueda a petición "static-assert"
Formas de ASERTAR expresiones en tiempo de construcción en C
Estoy ordenando un código antiguo que usa 'números mágicos' por todos lados para establecer registros de hardware, y me gustaría usar constantes en l...
¿Cómo se insertan los valores estáticos en un paquete de parámetros de una plantilla variadic?
Estoy creando una plantilla variadic. Digamos que tengo algo como esto: template<typename T, T ... Numbers> class Sequence final { // Unpack parameter pack into a constexpr array constexpr static T count = sizeof...(Numbers); constexpr static T ...
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 ...
Usando std :: extension en std :: array
Tengo una función de plantilla y quierostatic_assert que su tipo tiene un tamaño de tres. Este código ilustra lo que intento hacer, pero no funciona: template < typename T > void foo( T& param ) { // This line is the one that I need to figure ...
¿Cómo restringir el parámetro de plantilla al puntero o al iterador de acceso aleatorio solamente?
¿Hay alguna manera de restringir el tipo de parámetro de una función de plantilla a solo punteros o iteradores de acceso aleatorio? Digamos que estoy desarrollando una función de clasificación que funciona solo con contenedores accesibles al ...
Optimización, afirma y modo de liberación
Considera una función void f() { assert(condition); ... }En modo de depuración, donde las afirmaciones están habilitadas, el compilador es libre de asumircondition se mantiene, ya que el código restante no se ejecutará si no lo hace. Sin ...
¿estático afirmar que el nombre de tipo de plantilla T NO está completo?
¿Hay alguna forma de static_assert de que un tipo T esNocompleta en ese punto en un encabezado? La idea es tener un error de compilación si alguien agrega #incluye más adelante en lugares donde no deberían estar. relacionado:¿Cómo escribir la ...
¿Podemos usar static_assert para detectar el relleno en una estructura?
Este es un seguimiento de este otropregunta [https://stackoverflow.com/q/48147422/3545273] Intenté establecer en tiempo de compilación si una implementación específica había agregado relleno sin nombre dentro de una estructura. La ...
¿Cómo asegurar CRTP contra proporcionar una superclase incorrecta? [duplicar]
Esta pregunta ya tiene una respuesta aquí: ¿Cómo evitar errores al usar CRTP? [/questions/4417782/how-to-avoid-errors-while-using-crtp] 5 respuestasEn elpatrón de plantilla curiosamente ...
¿Cómo imprimir el resultado de un cálculo en tiempo de compilación en C ++?
He escrito varias funciones constexpr y las uso en static_asserts para controlar algunos límites de recursos. Pero me gustaría no solo hacer cumplir el predicado en tiempo de compilación sino también ver los valores reales calculados durante el ...