C++ Static Const Variable Membre D'Utilisation

Dire que j'ai une classe qui nécessite quelques constantes de la fonction. Plusieurs fonctions de membre d'exiger l'utilisation de ces constantes. Utiliser des #define, c'est mal vu, car il peut provoquer des collisions. Les constantes sont en hexadécimal modèles de 8 ou 16 bits et sont stockés u_int8_t ou uint16_t. Ces constantes ne changent pas d'exemple d'instance de la classe, et donc de la mémoire (bien que très peu de mémoire) peuvent être enregistrées par le fait d'avoir une seule copie de l'une des constantes.

Est-il rien de répréhensible, ou peut-être de meilleure façon d'accomplir la dessus au lieu de simplement faire quelque chose comme ce qui suit:

//mycode.h
//.......
class myclass {
private:
  static const uint16_t kMyClassConstant_ = 0xBEEF;
//.......
};

Merci d'avance pour l'aide.

  • Non, il n'y a rien de mal à cela. (J'espère que certains de C++ experts de ne pas avoir à me corriger. 🙂 )
  • Vous pourriez obtenir de meilleures réponses à codereview.stackexchange.com.
  • Oui, c'est une manière normale de la déclaration d'une constante globale.
  • Merci pour l'astuce concernant les autres site!
  • C'est très bien; intégrale des constantes peuvent également être créés dans un espace de noms-sûre que enums.
InformationsquelleAutor It'sPete | 2013-06-12