Pregunta

Después de las respuestas útiles a mi última pregunta que comenzó a usar la plantilla patrón de método para una clase con un montón de opciones diferentes. Sin haberlos todo, mis declaraciones actuales implementado para objetos de esa clase ahora el siguiente aspecto:

pc < prg, tc, 9, 0, 4, 4, test, true, true, true, true, false, true, true, 10, 0, -1, 3, 3 > mp;

¿Cómo lidiar con listas de parámetros largo de plantilla? ¿Debo usar enumeraciones / define en vez de verdadero / falso y números? ¿Hay alternativas comúnmente utilizado?

¿Fue útil?

Solución

Sí, enumeraciones de uso (no define) en vez de verdadero / falso. De esa manera, si obtiene los parámetros fuera de orden, entonces el compilador se quejará. Además, es mucho más claro para los lectores.

En cuanto a tratar con largas listas de parámetros en general --- ocultarlos detrás de un typedef, o un generador que corrige algunos de los parámetros de plantilla, y le permite variar los otros.

Otros consejos

I en vez reconsideraría mi diseño si tuviera una lista de parámetros de plantilla que es tan largo. Muchos parámetros son a menudo una indicación de un mal diseño.

No hago C ++, y esto puede no ser aplicable también a la plantilla, pero lo que me gustaría tratar de hacer con un método normal con una larga lista de parámetros es encontrar los parámetros relacionados y tratar de agruparlos con sensatez y presento parámetro de objetos reflectantes la agrupación, de manera que usted tiene una lista más corta de los parámetros más complejos.

I en lugar pasaría un solo argumento que es una colección de un tipo de variante, por ejemplo un std :: vector.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top