Définir un “Inconnu” ou la valeur “NULL dans un enum
Je suis à la définition d'une coutume typedef Éléments comme suit....
typedef enum {
Ar,
Cl,
F,
He,
H,
Kr,
Ne,
N,
O,
Rn,
Xe
} Element;
Je veux vérifier une variable de type Élément n'a pas été définie (essentiellement juste vérifier une valeur NULL). Aussi loin que je peux dire que la seule façon de le faire est d'ajouter une ligne supplémentaire
.... {
unknown = 0,
Ar,
F,
...etc
Ai-je raison ou est-il une façon plus élégante de le faire?
Je crois que la convention est d'avoir un "inconnu" valeur
...ou, ne pas utiliser les énumérations pour cela. peut-être juste utiliser NSString des objets à la place?
C'est du C btw.
oh! pas d'objets... Ma tête est en objective-c terre... Encore, je pourrais promouvoir
...ou, ne pas utiliser les énumérations pour cela. peut-être juste utiliser NSString des objets à la place?
C'est du C btw.
oh! pas d'objets... Ma tête est en objective-c terre... Encore, je pourrais promouvoir
Element
sur une struct + un ensemble de fonctions utilitaires. Cela dépend de comment Element
sera utilisé.OriginalL'auteur Nick Jones | 2012-09-26
Vous devez vous connecter pour publier un commentaire.
Oui, vous devez inclure un "inconnu" de la valeur. En gros, une
enum
est juste unint
. Si vous ne définissez aucune des constantes dans les déclarations (comme dans votre premier exemple de code) la première option sera mis à0
et la valeur par défaut.Une autre solution pourrait être de créer la première option pour
1
. Cette voie la de valeur0
ne sera pas définie et que vous pouvez vérifier manuellement.Mais j'opterais pour un définies explicitement "inconnu" de la valeur à la place.
OriginalL'auteur DrummerB