¿Alguien sabe si, en C++ 11, las plantillas de función pueden ser parcialmente especializadas?Especialización parcial de las plantillas de función
Respuesta
No, no pueden. El borrador del estándar C++ 0x tiene una sección (14.5.5) sobre especializaciones parciales de plantillas de clases, pero no menciona las especializaciones parciales de plantillas de funciones.
No; they were proposed as core language issue #229 (desde n1295) pero finalmente rechazado (y con razón, ya que la sobrecarga hace el trabajo).
Tengo que estar en desacuerdo con "con toda razón". La sobrecarga no siempre funciona, ya que no podemos tener sobrecargas que difieran solo en el tipo de devolución. Sería bueno si pudiera hacer algo como lo siguiente, por ejemplo: template
Estoy de acuerdo en que la sobrecarga no es suficiente. Digamos que quiero sobrecargar std :: make_shared para una estructura de C heredada con funciones custom create_ * y destroy_ *. Una especialización parcial sería muy útil en este caso. – AndyJost
Más desacuerdo a "con razón": 'enable_if'. Si pudiéramos especializar parcialmente las funciones, podríamos evitar hackers torpes con tag helpers. – GreenScape
- 1. Especialización parcial de plantillas con parámetros enteros
- 2. Especialización parcial de plantillas de funciones gratuitas: prácticas recomendadas
- 3. especialización parcial de la plantilla de función
- 4. plantillas de especialización
- 5. especialización de plantilla parcial ambigua
- 6. C++ especialización de método parcial
- 7. especialización parcial de una plantilla
- 8. Plantilla especialización parcial
- 9. Especialización de plantillas para enumeración
- 10. Especialización en plantillas anidadas
- 11. sintaxis de C++ plantillas de especialización
- 12. especialización parcial en C++ 11
- 13. Ambigüedad de especialización de plantilla parcial
- 14. C++ pregunta plantilla de especialización parcial
- 15. especialización de plantillas símbolos de multiplicación definida
- 16. Especialización de plantillas parciales para matrices
- 17. La especialización de plantillas falla al vincular
- 18. función de plantilla especialización
- 19. Especialización de plantilla con plantillas variadic
- 20. Especialización de plantillas para POD básico solo
- 21. Especialización en plantillas C++ con valor constante
- 22. Especialización de plantilla VS Función de sobrecarga
- 23. especialización de plantillas para funciones de miembros estáticos; ¿cómo?
- 24. Importancia y especialidad de la función de función importancia
- 25. especialización parcial de un método en una clase de plantilla
- 26. C++ Especialización de plantillas para proporcionar funciones de miembros adicionales?
- 27. C++: la especialización parcial de clases de plantilla plantilla
- 28. especialización de plantilla con un tipo a plantillas
- 29. Evaluación parcial/especialización con LLVM-gcc o gcc
- 30. especialización de plantilla parcial con varios paquetes de parámetros de plantilla
Tenía entendido que esto está en C++ 0x. – Puppy
@DeadMG: Sí, me refiero al borrador del estándar C++ 0x, http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3092.pdf –
FYI: El El último borrador es ahora [N3126] (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3126.pdf) [Advertencia: Gran PDF]. La respuesta no es diferente en el último borrador. –