यदि कुछ कोड है जहां मैं जितना संभव हो सी ++ 11x एक्सटेंशन का उपयोग करना चाहता हूं, लेकिन अगर यह समर्थित नहीं है तो फ़ॉलबैक हो। वर्तमान में जीसीसी और VisualC संकलक की OSX संस्करण के लिए सी ++ 11x कोई समर्थन नहीं के बराबर है, इसलिए मैं का उपयोग करें:क्या सी ++ 11x समर्थन का पता लगाने के लिए कोई प्रीप्रोसेसर निर्देश है?
#if (defined(__APPLE__) || (defined(_WIN32)))
...fallback code without C++11x ...
#else
... code using C++11x ...
#endif
और यह काम करता है, लेकिन वास्तव में नहीं करने के लिए सही बात है, विशेष रूप से जीसीसी के बाद से है मैकपॉर्ट्स में कंपाइलर सी ++ 11x का समर्थन करता है।
क्या #define C11X_SUPPORTED
प्रकार मैक्रो है? शायद जीसीसी में कुछ ही है?
समस्या यह है कि जीसीसी पूरी तरह से सी ++ 11 का समर्थन नहीं करता है, इसलिए यह वास्तव में निर्भर करता है कि आप किस विशेषताओं का उपयोग करना चाहते हैं। – juanchopanza
काम को बढ़ावा देगा: http://www.boost.org/doc/libs/1_49_0/libs/config/doc/html/boost_config/boost_macro_reference.html#boost_config.boost_macro_reference.macros_that_describe_c__11_features_not_supported? – rve
@rve: आपने इसे उत्तर के रूप में क्यों पोस्ट नहीं किया? यह अच्छा है। –