Esistono macro predefinite per C++ in modo che il codice possa identificare lo standard?Macro predefinita C++ 11
ad es. Attualmente la maggior parte dei compilatori mette "array" nella cartella "tr1" ma per C++ 11 sarebbe parte di STL. Quindi attualmente
#include <tr1/array>
ma C++ 11
#include <array>
Qual è il macro predefinite per 03 serie e 11 di serie al fine posso usare #ifdef
per identificare?
Inoltre, suppongo che ci siano macro per C90 e C99?
Thanksx
Ha poco a che fare con lo standard, completamente dipende da quello che sostiene il vostro compilatore. Qualsiasi compilatore predefinisce una macro che fornisce il suo numero di versione. Consulta la documentazione del compilatore. –
possibile duplicato di [Determina disponibilità C++ 0x] (http: // stackoverflow.it/questions/1975616/define-c0x-availability) –
@Hans Passant: Fail. 'Il nome _ _ cplusplus è definito sul valore 201103L durante la compilazione di un'unità di traduzione C++. (16.8 Nomi macro predefiniti). –