Comment faire pour déterminer la version de la norme C++ utilisé par le compilateur?

Comment déterminez-vous quelle est la version de la norme C++ est mis en œuvre par votre compilateur? Autant que je sache, ci-dessous sont les normes que j'ai connu:

  • C++03
  • C++98
  • Vous tagged cette c++, mais deux des trois normes que vous avez énumérés ne sont pas des normes C++. Langue(s) êtes-vous intéressé?
  • Désolé, je suis intéressé par les normes C++. Je ne suis pas sûr de ce que d'autres C++ versions standard sont là.
  • D'accord sur le C99 et C90 - mais il y a un cas pour détecter si vous êtes sur un compilateur C++ ou C - il existe des bibliothèques utilisées sur les deux. Aussi, il y a encore du C++98 et C++03 (et peut-être certains des principaux pré-variante standard) à prendre en considération - et C++0x2010 de cours (les normes gars dire quelque chose à propos de hex ans - je suppose que c'est ce qu'ils veulent dire).
  • Mon mauvais - je viens de réalisé qu'il veux sans doute dire C++0x200F - toute une année plus tôt que ce que j'ai dit avant.
  • Je pense que c'est vraiment une question étrange. Comment puis-je sais que je suis en train d'écrire en anglais? (Et une liste de compilateur qui prend en charge ce standard est lié à rassir.)
  • Et la question a été posée juste à quelques minutes auparavant. (stackoverflow.com/questions/7132440/...)
  • La pose et fermée, parce que la question était de la foutaise et qu'il a eu d'autres arbitraire non-sens se greffer sur elle. J'ai re-posté dans un décent forme. Je serais heureux de fermer celui-ci si elle ressemble à l'original sera fixe et ressuscité, mais je ne retiens pas mon souffle.
  • Eh bien, la meilleure réponse n'est pas une liste statique de compilateurs, mais un moyen de déterminer vous-même ce qui est en cours d'utilisation. Donc là vous allez.
  • Geret'kal: Car FAQ représente foire aux questions, ce qui peut être souvent appelé ou une réponse, mais ce n'est certainement pas des plus fréquemment posées.
  • Il le sera prochainement. Je le promets. En outre, la c++-faq balise n'ont pas de réelle pré-requis "nombre de fois demandé" que vous devez passer; c'est plus sur le format et la généralité de la chose.
  • Oh, boules. Je ne sais pas vraiment ce que la procédure est ici; j'aimerais que cette question mise à jour, mais je ne vois pas comment il pourrait susciter suffisamment d'intérêt pour que les réponses soient correctement mis à jour.
  • pmr et Als réponses sont déjà présents dans cette question des réponses. Modifier la question pour ajouter C++0x (quel qu'il l'appelle maintenant), et upvote, de ceux dont le mérite qu'il va recueillir attention si les gens trouvent de l'attention digne.
  • J'espérais que cette question serait d'inclure des détails sur la façon de savoir qui C++0x caractéristiques de votre compilateur prend en charge, comment faire pour activer/désactiver le C++11 mode, et telles. Mais, meh, je suppose que vous avez probablement raison...
  • Il y a déjà un autre qui a sauté et elle demande en substance la même chose, je pense que tous les 3 devrait être juste regroupées sous un titre décent.
  • Nah, j'abandonne. 🙂 Désolé.
  • Geret'kal: c++-faq tag doesn't have any actual pre-requisite est incorrect et vous remarquerez que si vous lisez l'avertissement/de pied de page qui est mis à toutes les faq de répondre à la question.
  • détection/d'activer/désactiver les fonctionnalités de l'est, de l'OMI, une autre question (aucune idée de si/comment cela peut être fait trop). Qui pourrait être intéressant.
  • J'ai fait quelques recherches. Cette question est dupe, mais la réponse est plat pas utile. (Voir ma réponse.) Ainsi, nous pouvons aller pour améliorer la vieille question et d'en faire une faq ou en commencer une nouvelle avec celui-ci et obtenir une réponse complète.
  • Et bien c'est la même chose. La détection de caractéristiques est l'équivalent de savoir ce que les [parties de] standard[s] vous êtes en utilisant. Il n'est pas coupé et sec. Si j'avais une réponse raisonnable formulé encore, je ferais le cas où il ya une vaste zone grise entre les normes de maintenant, et ça ne va qu'empirer tant que C++0x soutien s'élargit et que C++11 imprègne le homeplace.
  • Je suis d'accord. J'ai déjà demandé un mod pour supprimer cette question, mais je pense que nous devrions décider entre ce que vous avez dit.
  • Désolé, mais j'ai couru hors de ayant aucune idée de quoi vous parlez. [edit: OK, le c++-faq balise wiki couvre ce que vous dites.]
  • Je suppose que cela signifie que la SORTE de chat.
  • Geret'kal: Vous pouvez discuter de cette croyance de la vôtre, qui n'est no actual pre-requisite "number of times asked" that you have to pass dans le C++ Salon, car le gens qui ont commencé la ce et le lieu où cela a été abordé décidé qu'une FAQ devrait avoir que des pré-requis.
  • Pour le contexte, les parties de une autre question ont juste été fusionné avec celui-ci. Malheureusement, il ne marque pas sur la fusion de la cible qu'une fusion a eu lieu.
  • J'ai l'habitude de laisser un commentaire quand je l'ai fusion, et je ne suis pas tout à fait sûr pourquoi j'ai oublié de le faire cette fois. Désolé. C'est un ennuyeux partie du système, j'ai été envisagent de demander une fonctionnalité pour le rendre un peu moins subtil. Mais, je pense que c'est censé être subtil de par leur conception.
  • Ce serait plus logique; la subtilité et la transparence sont très bien, mais pour une vieille question comme celle-ci, elle est juste carrément déroutant! 🙂
  • Pardonnez-moi de parler de tour, mais je pense (pmr), la réponse devrait probablement être accepté.

InformationsquelleAutor jasonline | 2010-02-24