¿Hay alguna manera de encontrar los valores máximos y mínimos definidos de una enumeración en C++?Valores máximos y mínimos en una enumeración de C++
Respuesta
No, no hay forma de encontrar los valores máximos y mínimos definidos de cualquier enumeración en C++. Cuando se necesita este tipo de información, a menudo es una buena práctica definir un valor Último y Primero. Por ejemplo,
enum MyPretendEnum
{
Apples,
Oranges,
Pears,
Bananas,
First = Apples,
Last = Bananas
};
No es necesario ser nombrado valores para cada valor entre First
y Last
.
Sigue siendo útil para enumeraciones no secuenciales, siempre que no espere que exista cada valor –
@Adrian: Sí, eso es cierto. No necesita todos los valores para tener un nombre definido para que esta técnica sea útil. Voy a editar en consecuencia –
No, no en C++ estándar. Usted puede hacerlo de forma manual:
enum Name
{
val0,
val1,
val2,
num_values
};
num_values
contendrá el número de valores de la enumeración.
num_values contendrá los números-1 de los valores – 4pie0
@lizusek: 'num_values' contendrá el número de valores en la enumeración, excepto' num_values'. – dalle
@dalie sí, por eso será: número de valores - 1. Por supuesto que sé que te refieres a valores que significan valores que excluyen el último, que no es un valor real, sino un ayudante. Sin embargo, sugeriría que sea más claro. – 4pie0
No. Una enumeración en C o C++ es simplemente una lista de constantes. No hay una estructura más alta que pueda contener dicha información.
Por lo general, cuando necesito este tipo de información que se incluyen en la enumeración un valor máximo y mínimo o menos así:
enum {
eAaa = 1,
eBbb,
eCccc,
eMin = eAaaa,
eMax = eCccc
}
Ver esta página web para algunos ejemplos de cómo esto puede ser útil: Stupid Enum Tricks
enum My_enum
{
FIRST_VALUE = 0,
MY_VALUE1,
MY_VALUE2,
...
MY_VALUEN,
LAST_VALUE
};
después de la definición, My_enum :: LAST_VALUE == N + 1
que ni siquiera los necesita, lo que hago es que acabo de decir, por ejemplo si tiene:
enum Name{val0,val1,val2};
si tiene sentencia switch y para comprobar si se ha alcanzado el último valor de hacer lo siguiente:
if(selectedOption>=val0 && selectedOption<=val2){
//code
}
Esta es una solución muy frágil. Si agrega un nuevo valor enum, tiene que encuestar todo su código base para actualizar dichas pruebas. –
- 1. SmallDateTime Valores mínimos y máximos en C#
- 2. Valores máximos y mínimos en un cuadro de texto
- 3. jQuery UI slider valores mínimos/máximos
- 4. ¿Encontrar valores mínimos, máximos y promedio para listas anidadas?
- 5. ¿Cómo seleccionar valores mínimos y máximos de una columna en una tabla de datos?
- 6. Pregunta C: off_t (y otros tipos de entero con signo) valores mínimos y máximos
- 7. ¿Cómo crear un Django FloatField con límites máximos y mínimos?
- 8. Google maps, configuración de los controles deslizantes mínimos y máximos
- 9. Problema del control deslizante de jQuery que alcanza valores mínimos y máximos
- 10. Zedgraph - Establecer valores mínimos/máximos en un eje de forma permanente
- 11. Seleccionar varios valores máximos
- 12. valores de cadena enumeración en C#
- 13. cómo seleccionar los 5 valores máximos máximos en mytable
- 14. 5 valores máximos en un diccionario Python
- 15. WPF: ventana personalizada, botones mínimos/máximos/cercanos estándar
- 16. Identificar mínimos y máximos importantes en series de tiempo con Mathematica
- 17. Biblioteca de mínimos cuadrados C#
- 18. Bucle en valores de enumeración
- 19. Cómo extraer y trazar solo los picos mínimos y máximos de una matriz, -análisis de gráficos- Con Matlab o excel
- 20. Compartiendo una enumeración de C#, C++/CLI y C++
- 21. ¿Los límites mínimos/mínimos son mínimos?
- 22. Cadena de enumeración en C++
- 23. ¿Encontrar valores mínimos entre los 5 enteros?
- 24. Cómo obtener los valores de una enumeración en un SelectList
- 25. Obtener valores de enumeración de la clase
- 26. ¿Cómo averiguar todos los valores posibles de una enumeración?
- 27. enumeración JAXB con valores numéricos
- 28. C# enumeración excluye
- 29. Enumerar sobre una enumeración en C++
- 30. ¿Cómo puedo obtener los valores máximo y mínimo en una sola consulta?
Puede ayudar a las personas responden mejor si usted describió por qué quería saber el máximo y mínimo valores de una enumeración. – JaredPar