確認 - なぜVisual Studio Community 2017 C++標準C++ 98ですか?



visual c++ 無料 (1)

__cplusplusの値は、既存のコードを破壊しないように、現在のバージョンのVisual Studioでは一時的に意図的に非適合です。 これは、コンパイラがC ++ 11(またはそれ以降)の機能をサポートしていないことを意味するものではありません。

MSVCから引用すると、 __cplusplusが正しくレポートされるようになりました

/ Zc:__ cplusplus

__cplusplusマクロの更新された値を確認するには、 /Zc:__cplusplusスイッチを使用してコンパイルする必要があります。 デフォルトでマクロを更新しようとしましたが、 __cplusplusの値を変更すると多くのコードが正しくコンパイルされないことが__cplusplus 。 19.xxファミリのMSVCのすべてのマイナーバージョンでは、引き続き/Zc:__cplusplusスイッチを使用する必要があります。

昨日、私は最新のVS Community 2017にアップグレードし(前のバージョンは昨年インストールされた)、C ++標準をチェックしたいと考えました。 だから私はそれをチェックする次のコードを実行し、それが判明したように、私はC + + 98:

#include<iostream>
using namespace std;
int main()
{
    cout << __cplusplus << endl;
    system("pause");
}

どの出力

199711

なぜ私は最新のC ++標準を持っていないのですか?





standards