9
C++ dilinin farklı sürümlerini ayırt etmek için #ifdef
denetimlerinde kullanabileceğim bir önişlemci tanımı var mı?Dil sürümünü kontrol etmek için bir önişlemci #define? C++ 98/C++ 03/C++ 11
C++ dilinin farklı sürümlerini ayırt etmek için #ifdef
denetimlerinde kullanabileceğim bir önişlemci tanımı var mı?Dil sürümünü kontrol etmek için bir önişlemci #define? C++ 98/C++ 03/C++ 11
__cplusplus
makrosunun değeri bu amaca hizmet etmelidir. Ne yazık ki, GCC'nin (4.7'den önce) her zaman bunu bu amaç için kullanılamaz hale getirerek 1
'a ayarlamıştır.
199711L
ve
201103L
bulunmaktadır.)
makro tutarsız ayarlanmış bir sorun vardır. C++ 11'in parçalarını destekleyen bir derleyici için değer ne olmalıdır? :/ – Xeo
@Xeo: '__GXX_EXPERIMENTAL_CXX0X__', clang ve gcc için. – kennytm
@KennyTM: libstdC++ ile. '__GXX_EXPERIMENTAL_CXX0X__' ile clang içinde tanımlanmamış. onun da C++ 11 deneysel olmadığı zaman kaldırılması gerekiyordu – Dani