es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tag: VARIADIC-TEMPLATES

Corrección de la expansión de paquete variádico.

Estoy trabajando en la implementación de C++20 de tuple: template<size_t INDEX, typename T> struct wrap { [[no_unique_address]] T data {}; }; template<typename…> class base {}; template<size_t… INDEX, typename… Ts> class base<index_sequence<INDEX…>, Ts…> : public wrap<INDEX, Ts>… { public: constexpr base( const Ts &… args ) : /* !! AQUÍ DEBE . . . Read more

Reglas de deducción de tipos de plantilla de función.

Tengo lo siguiente: template<typename …Ts, typename U, typename=void> void valid(Ts…, U){} int main() { valid(1.0, 1, 2, 3); } clang se queja: note: la función candidata [con Ts = <>, U = double, $2 = void] no es viable: requiere 1 argumento, pero se proporcionaron 4 void valid(Ts…, U){} ^ . . . Read more

¿Cuál es la sintaxis `typename…` en las plantillas de C++?

Acabo de encontrar este fragmento de código en un archivo de Programa (C++): $template <typename blah, typename… Args> const <some-type> bof(<some-parameters>, Args&&… args) const { return breck(std::forward<Args>(args)…); }$ Me pregunto: 1) ¿qué son los tres puntos después de typename? 2) Parece intuitivamente que de esta manera podemos pasar múltiples argumentos. . . . Read more