J'utilise un std :: carte pour la carte des valeurs de la machine unsigned char dans les types de chaînes lisibles par l'homme, par exemple:Meilleure façon d'avoir std :: map où je peux définir ce qui est retourné s'il n'y a pas de clé?
std::map<unsigned char, std::string> DEVICE_TYPES = {
{ 0x00, "Validator" },
{ 0x03, "SMART Hopper" },
{ 0x06, "SMART Payout" },
{ 0x07, "NV11" },
};
J'aimerais modifier cette façon que si la clé passée n'est pas présent, la La carte renverra "Inconnu". Je veux que l'interface de l'appelant reste la même (c'est-à-dire qu'elle récupère simplement sa chaîne de la carte en utilisant l'opérateur []). Quelle est la meilleure façon de faire cela? J'ai C++ 11 sur Windows 7 disponible.
Créer une enveloppe et mettre en œuvre la '' '' [] '' '' opérateur . – mascoj
Bonne suggestion. Je ne suis pas sûr à quoi ressemblerait le constructeur pour utiliser un initialiseur de liste comme je l'ai dans l'exemple cependant. Des idées là-dessus? – SeanLabs