可能な限りC++ 11x拡張機能を使用したいが、サポートされていない場合はフォールバックが必要なコードがある場合。現在、GCCのOSX版とVisualCコンパイラは、C++ 11Xのサポートはありませんがほとんどを持っているので、私は使用します。C++ 11xサポートを検出するプリプロセッサディレクティブはありますか?
#if (defined(__APPLE__) || (defined(_WIN32)))
...fallback code without C++11x ...
#else
... code using C++11x ...
#endif
そして、これは動作しますが、特にGCCいるので、実際に行うには正しいことではありませんMacPortsのコンパイラは、C++ 11xをサポートしています。
#define C11X_SUPPORTED
タイプのマクロはありますか?おそらくGCCだけが持っているものでしょうか?
問題は、GCCがまだC++ 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:答えとして投稿しなかったのはなぜですか?それは良いものです。 *フル*サポートはまだありませんが、注意して、 –