Maison > Article > développement back-end > Pourquoi __cplusplus est-il défini comme 199711L dans Visual Studio 2012 malgré la prise en charge de C 11 ?
__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!