Esa es mi pregunta. Solo tengo curiosidad por saber cuál es el consenso sobre la limitación de los tipos que se pueden pasar a una clase o función genérica. Pensé que había leído en algún momento, que si estaba haciendo programación genérica, generalmente era mejor dejar las cosas abiertas en lugar de tratar de cerrarlas (no recuerde la fuente).Prácticas recomendadas de programación genérica/de plantilla: para limitar tipos, o no para limitar tipos
Estoy escribiendo una biblioteca que tiene algunas funciones genéricas internas, y creo que solo deben permitir el uso de tipos dentro de la biblioteca, simplemente porque así es como quiero que se utilicen. Por otro lado, no estoy seguro de que mi esfuerzo por cerrar las cosas valga la pena.
¿Alguien puede tener algunas fuentes de estadísticas o comentarios autorizados sobre este tema? También estoy interesado en opiniones sensatas. Esperemos que eso no invalide por completo esta pregunta: \
Además, ¿hay etiquetas aquí en SO que equivalgan a "mejores prácticas"? No vi ese específicamente, pero parece que sería útil poder mostrar toda la información de las mejores prácticas para un tema SO dado ... tal vez no, solo un pensamiento.
Editar: Una respuesta hasta el momento menciona que el tipo de biblioteca que estoy haciendo sería significativo. Es una biblioteca de base de datos que termina trabajando con contenedores STL, variadics (tupla), Boost Fusion, cosas de esa naturaleza. Puedo ver cómo eso sería relevante, pero también me interesarían las reglas generales para determinar qué camino tomar.
"si está haciendo programación genérica, generalmente era mejor dejar las cosas abiertas en lugar de tratar de cerrarlas": esto es muy debatible. Pero dado que la gente de C++ decidió que los conceptos no formarían parte del lenguaje en los próximos años (¿décadas?), Es mucho más conveniente dejar las cosas abiertas que intentarlas de forma remota. –
@Alexandre Me preguntaba cuándo se mencionarían los conceptos :( –