Maison > développement back-end > C++ > Pourquoi __cplusplus est-il défini comme 199711L dans Visual Studio 2012 malgré la prise en charge de C 11 ?

Pourquoi __cplusplus est-il défini comme 199711L dans Visual Studio 2012 malgré la prise en charge de C 11 ?

Barbara Streisand
Libérer: 2024-11-04 18:51:02
original
315 Les gens l'ont consulté

Why is __cplusplus defined as 199711L in Visual Studio 2012 despite C   11 support?

__cplusplus dans Visual Studio 2012

Dans Visual Studio 2012, certains développeurs ont remarqué que __cplusplus est défini comme 199711L, indiquant "l'ancien" C, malgré le fait que VS 2012 inclut le support C 11.

Contexte

La macro __cplusplus est une macro de préprocesseur qui fournit la version de la norme C prise en charge dans Visual Studio. Une valeur de 199711L correspond à la norme C 98, tandis que 201103L indiquerait la prise en charge de C 11.

Problème

Dans Visual Studio 2012, même si les en-têtes C 11 sont inclus , __cplusplus est toujours incorrectement défini comme 199711L. Cela peut être problématique pour le code qui s'appuie sur la macro __cplusplus pour différencier les versions du standard C.

Résolution

Le problème a été signalé à Microsoft pour examen, et apparaît sous le titre "Une valeur de macro prédéfinie __cplusplus est toujours 199711L."

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal