Vous manquez des opportunités de trading :
- Applications de trading gratuites
- Plus de 8 000 signaux à copier
- Actualités économiques pour explorer les marchés financiers
Inscription
Se connecter
Vous acceptez la politique du site Web et les conditions d'utilisation
Si vous n'avez pas de compte, veuillez vous inscrire
ME5 donne une erreur lors de la compilation, à mon avis injustifiée.
Je voudrais que l'enum prédéfini de la forme ENUM_XXX soit effectivement numéroté 1, alors qu'actuellement il est numéroté par défaut, c'est-à-dire 0. La question n'est pas de changer les valeurs par défaut, mais de remplacer
il devrait l'être
Le raisonnement est le suivant - un exemple :
Lorsque j'analyse la valeur de request.type quelque part dans le code, si elle est égale à 0, je ne peux pas comprendre si elle n'a pas été initialisée ou si elle a été initialisée.
request.type = ORDER_TYPE_BUY;
C'est le cas avec la plupart des enums prédéfinis de la forme ENUM_ XXX équivalent de RadioButton et nécessite une quantité déraisonnable de complexité pour gérer correctement la situation actuelle.
Qu'est-ce qui vous empêche d'écrire un identifiant neutre comme premier membre d'une énumération prédéfinie ? Par exemple :
La "numérotation à partir de zéro" sera préservée, et les variables non initialisées peuvent être facilement évaluées.
Qu'est-ce qui vous empêche d'écrire un identifiant neutre comme premier membre d'une énumération prédéfinie ? Par exemple :
Et si vous pensez aux autres qui utilisent déjà l'ensemble original d'enums ? Sans parler du regard perplexe de l'ensemble du complexe des serveurs.
En général, la question n'est pas posée correctement. Le développeur ne devrait pas être paresseux et obliger le reste du monde à s'adapter à lui-même en autodétruisant ce même monde.
Eh bien, réfléchissons à nouveau, "sur le reste". À quoi servent les identificateurs de constantes nommées? - Correct, afin d'utiliser ces identifiants. De plus, pour utiliser ces identificateurs, il n'est pas nécessaire de savoir quelles valeurs spécifiques sont attribuées aux membres de l'énumération. Ou supposez-vous que les programmeurs compétents utilisent des identificateurs au lieu de découvrir les valeurs par défaut des membres de l'enum, puis effectuent des vérifications sur la base de ces valeurs par défaut ?
C'est-à-dire qu'il n'est pas difficile de mettre en œuvre la suggestion elle-même, n'est-ce pas ?
L'auteur de ce fil n'avait pas l'intention de détruire le monde des autres par sa paresse. Il a seulement fait une suggestion spécifique d'amélioration. Et expliqué que la valeur zéro s'avère être surchargée.
J'aimerais introduire au moins une classe comme portée pour les éléments portant un nom d'enum,
Raison d'être des classes : vous devez trouver un nom unique qui peut entrer en conflit de manière inattendue avec des noms de bibliothèques (y compris de tiers) et/ou des noms prédéfinis. En outre, vous pourriez utiliser des noms similaires d'éléments d'énumération SL, TP, PRICE, etc. dans plusieurs classes simultanément sans crainte de conflits.
Raison d'être des fonctions : non critique, mais en même temps
Nous souhaitons introduire un champ d'application pour les éléments portant un nom d'enum.
Raison d'être des classes : vous devez trouver un nom unique qui peut entrer en conflit de manière inattendue avec un nom de bibliothèque et/ou un nom prédéfini. De plus, vous pourriez utiliser des noms similaires pour les éléments de l'enum SL, TP, PRICE, etc. dans plusieurs classes en même temps sans crainte de conflits.
Raison d'être des fonctions : non critique, mais en même temps
Mais qu'en est-il en C++ ?
C'est de là que viennent les jambes - un paradoxe, mais seulement maintenant (quand il y a des restrictions), j'ai commencé à comprendre pourquoi tout était fait là :)
Bien sûr, vous pourriez vous en passer - écrire un nom unique pour toutes les classes, mais pour les gros programmes, et surtout pour les bibliothèques destinées à un usage général - ce n'est pas une option
Essayez ceci (pour "initialisation") :
WRONG_VALUE.
Une constante peut être implicitement convertie en n'importe quel type d'énumération.
-1