Si vous avez une classe qui a des constantes nommées, quelle est la meilleure PRACTIVE pour stocker les constantes:Où stocker les constantes de classe nommées spécifiques en C++
Option 1: Espace de noms en tête de classe
Donc, dans mon en-tête de la classe j'aurai:
class myClass
{
...
...
};
namespace NamedConstants
{
const string Bucket = "Bucket";
}
Option 2 Constantes membres
class MyClass { // this goes in the class
private: // header file
static const string Bucket;
...
};
... et dans le fichier de mise en œuvre de la classe:
const string MyClass::Bucket = "Bucket";
je préfère l'option 1, considérant comme plus propre: le nom de la variable et la valeur apparaissent ensemble. En outre, si vous donnez l'espace un bon nom alors il peut rendre le code plus lisible lorsque vous utilisez des constantes:
TrafficLight::Green
-ce que quelqu'un vois aucun problème avec cette méthode sur l'option 2?
Les valeurs de chaîne sont-elles spécifiques à la classe ou globales? – DumbCoder
@DumbCoder Dans mon exemple, ils sont spécifiques à la classe –
duplication possible de [Où mettre des chaînes constantes en C++: membres de classe statiques ou espaces de noms anonymes] (http://stackoverflow.com/questions/2465546/where-to-put -constant-strings-in-c-static-class-members-ou-anonymous-namespace) –