Tag: TEMPLATE-SPECIALIZATION
He estado aprendiendo plantillas y especializaciones de plantillas. Quiero ser capaz de sumar dos parámetros de plantilla juntos. Pude hacer esto con tipos básicos, pero ¿se podría hacer también con funciones utilizando una función lambda y una especialización de clase? El siguiente código no se compilará: template<class r=””> class Adder . . . Read more
Supongamos que creo mi propio tipo de coma flotante MyFloatingPoint (por ejemplo, para proporcionar una precisión mayor en comparación con los tipos incorporados). ¿Es permitido especializar las constantes en el encabezado <numbers> de C++20 para este tipo, o es un comportamiento indefinido?
Estaba revisando las implementaciones de <complex> en la Biblioteca Estándar de C++. Me di cuenta de que para todas las implementaciones actuales de GNU, LLVM y MSVC, hay una gran cantidad de duplicación de código para especializaciones de plantillas de los tipos float, double y long double, pero no sé . . . Read more
Creo una biblioteca compartida y uso la visibilidad de símbolos “ocultos” por defecto, es decir, tengo que modificar explícitamente la visibilidad de todo lo que se debe exportar. Además, defino plantillas en los archivos de encabezado e instancio explícitamente en los archivos fuente de la biblioteca para garantizar la compilación . . . Read more
¿Cuál es la sintaxis correcta para especializar una función miembro con plantillas de una clase plantilla sin especificar el parámetro de plantilla de la clase? Aquí está a lo que me refiero: Ejemplo #1 (funciona): “`c++ #include <iostream> struct C1 { template <class b=""> void f(void) const; }; template <> . . . Read more