Microsoft Visual C++コンパイラ(以前はGCCが他のコンパイラの中で使用されていました)でマルチプラットフォームのC++プロジェクトをコンパイルしようとしています。__cplusplusではなく_MSVC_LANGを使用しても安全ですか?
今、私はこの1つのようないくつかのプリプロセッサディレクティブに遭遇:
#if __cplusplus < 201103L
// Define some macros of C++11 the code really relies on.
// [...]
#endif
私は、Visual Studio 2015を使用していますが、__cplusplus
はまだ199711L
として定義されています。 This post from the Microsoft blogは、_MSVC_LANG
も確認するようアドバイスします。
_MSVC_LANG >= 201402L
はどの程度までC++ 11に準拠していませんか?
チェック*も*、*代わりに*(論理的か)ではありません。 –
さて、編集しました。 – WolfgangS