Resultados de la búsqueda a petición "static-assert"

10 la respuesta

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...

6 la respuesta

¿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 ...

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 ...

4 la respuesta

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 ...

1 la respuesta

¿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 ...

2 la respuesta

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 ...

2 la respuesta

¿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 ...

1 la respuesta

¿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 ...

2 la respuesta

¿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 ...

2 la respuesta

¿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 ...