Salut,
Je me demandais s'il y avait déjà un symabol préprocesseur standard déterminé afin de savoir si la compilation se fait selon la norme c++0x ou non...
Je m'explique:
Il est possible, de manière générale, d'utiliser la directive préprocesseur
afin de déterminer si nous sommes occupés à compiler du code avec un compilateur C++
Code : Sélectionner tout - Visualiser dans une fenêtre à part #ifdef __cplusplus
Sous Gcc (du moins, sur les versions qui fournissent le support expérimental de la prochaine norme), il est possible d'utiliser la directive préprocesseur
afin de savoir si l'on a demander d'activer ce support ou non.
Code : Sélectionner tout - Visualiser dans une fenêtre à part #ifdef __GXX_EXPERIMENTAL_CXX0X__
Mais si le premier symbole est trop "générique" dans le sens où il ne donne aucune information sur la norme suivie, le second est, quant à lui, trop particulier, dans le sens où... il ne s'applique qu'à un(e famille de) compilateur(s)...
Or, ceux qui se sont déjà un peu intéressé à la nouvelle norme savent qu'elle apporte un certain nombre de choses nouvelles intéressantes... qui ne seront, purement et simplement pas reconnues si la norme suivie par le compilateur est trop ancienne.
Je me demande donc si la norme avait pris ce point qui peut sembler anodin en compte en prévoyant un symbole particulier pour indiquer que c++0x est suivi lors de la compilation
Merci d'avance à ceux qui me répondront![]()
Partager