Existe-t-il un moyen de trouver les valeurs maximales et minimales définies d'une énumération en c ++?
Non, il n'y a aucun moyen de trouver les valeurs définies maximale et minimale d'une énumération en C++. Lorsque ce type d'informations est nécessaire, il est souvent recommandé de définir une valeur Last and First. Par exemple,
enum MyPretendEnum
{
Apples,
Oranges,
Pears,
Bananas,
First = Apples,
Last = Bananas
};
Il n'est pas nécessaire de nommer des valeurs pour chaque valeur comprise entre First
et Last
.
Non, pas en C++ standard. Vous pouvez le faire manuellement:
enum Name
{
val0,
val1,
val2,
num_values
};
num_values
contiendra le nombre de valeurs dans l'énumération.
Non. Une énumération en C ou C++ est simplement une liste de constantes. Aucune structure supérieure ne détiendrait de telles informations.
Habituellement, lorsque j'ai besoin de ce type d'informations, j'inclus dans l'énumération une valeur max et min quelque chose comme ceci:
enum {
eAaa = 1,
eBbb,
eCccc,
eMin = eAaaa,
eMax = eCccc
}
Voir cette page Web pour quelques exemples de la façon dont cela peut être utile: Stupid Enum Tricks
enum My_enum
{
FIRST_VALUE = 0,
MY_VALUE1,
MY_VALUE2,
...
MY_VALUEN,
LAST_VALUE
};
après définition, My_enum :: LAST_VALUE == N + 1