Enum string en C++11

Je me rends compte de ce il a été demandé avant plus d'une fois mais je ne pouvais pas trouver une question explicitement la recherche d'une solution à ce problème avec C++11, donc, ici, nous allons à nouveau..

Nous pouvons facilement obtenir la chaîne de valeur de l'enum avec C++11?

I. e. est-il (aujourd'hui) tout intégré dans les fonctionnalités de C++11 qui nous permet d'obtenir une représentation de chaîne des types enum comme dans

typedef enum {Linux, Apple, Windows} OS_type; 
OS_type myOS = Linux;

cout << myOS

ce serait imprimer Linux sur la console?

  • Probablement, rien n'a changé dans ce domaine.
  • Depuis c++11 n'ai pas ajouter des réflexion, je doute qu'il existe de meilleures solutions maintenant.
  • La question initiale que vous avez mentionné contient ÉGALEMENT une mise à jour, C++11 approche, si vous suffit de faire défiler passé les 2 ou 3 premières réponses.
  • Stringification de noms de variables, ou les noms de type n'est pas directement possible. Vous avez à travailler avec des modèles (spécialisé pour chaque nom), les macros ou une combinaison de ceux-ci. Rien n'a vraiment changé en C++11 et autant que je sache, ne sera pas en C++14.
  • C'est dommage 🙁
  • Quelqu'un peut-il me donner quelques cas d'utilisation (pas de débogage de l'aide s'il vous plaît), parce que je ne manquez pas cette fonctionnalité?
  • l'usage commun de client/serveur de code (chaque appel, et le type de données passe par le fil) ou tout simplement stocker des classes comme des fichiers Json.
  • La sérialisation doivent être effectués pour d'autres types de données intégrés. Selon le protocole / format de fichier n'est pas chose facile, même pour les entiers. Les énumérations ne sont pas différents.
  • voir open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3814.html
  • Que faire si je veux cout << myOS; pour imprimer 0 au lieu de Linux?
  • Double Possible de Comment faire pour convertir un type enum variable une chaîne de caractères?

InformationsquelleAutor cacau | 2014-01-30