Czy są jakieś wstępnie zdefiniowane makra dla C++, aby kod mógł zidentyfikować standard?C++ 11 predefiniowane makro
np. Obecnie większość kompilatorów umieszcza "tablicę" w folderze "tr1", ale w C++ 11 byłaby częścią STL. Więc obecnie
#include <tr1/array>
ale C++ 11
#include <array>
Co jest predefiniowane makra dla standardowych 03 i 11 w celu standardzie mogę wykorzystać #ifdef
zidentyfikować?
Sądzę też, że istnieją makra dla C90 i C99?
Thanksx
To ma niewiele wspólnego ze standardem, to całkowicie zależy od tego, co obsługuje Twój kompilator. Każdy kompilator wstępnie definiuje makro, które podaje jego numer wersji. Zapoznaj się z dokumentacją kompilatora. –
możliwy duplikat [Ustal dostępność C++ 0x] (http: // stackoverflow.com/questions/1975616/determine-c0x-availability) –
@Hans Passant: Fail. 'Nazwa _ _ cplusplus jest zdefiniowana do wartości 201103L podczas kompilowania jednostki tłumaczącej C++." (16.8 Wstępnie zdefiniowane nazwy makr). –