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

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

DDD
DDDoriginal
2024-11-04 17:19:02341parcourir

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

Prise en charge de C 11 dans Visual Studio 2012 : écart de définition de __cplusplus

Dans Visual Studio 2012, __cplusplus est défini comme 199711L, indiquant la prise en charge de C 98 . Cependant, Visual Studio 2012 prétend prendre en charge C 11. Cette divergence a semé la confusion parmi les développeurs.

La réponse acceptée reconnaît cette divergence et confirme que le problème a été signalé à Microsoft pour examen. Un rapport de bogue en attente intitulé « Une valeur de la macro prédéfinie __cplusplus est toujours 199711L » est actuellement à l'étude.

Bien que les en-têtes C 11 puissent être inclus dans les projets Visual Studio 2012, la définition incorrecte de __cplusplus peut limiter certaines fonctionnalités ou provoquer un comportement inattendu. Les développeurs doivent être conscients de cette différence et ajuster leur code en conséquence jusqu'à ce que Microsoft résolve le problème.

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:
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