/STD (Określanie języka w wersji Standard)/std (Specify Language Standard Version)

Włącz obsługiwane funkcje języka C++ z określonej wersji standard języka C++.Enable supported C++ language features from the specified version of the C++ language standard.

SkładniaSyntax

/STD: [c ++ 14 | c ++ 17 | c ++ najnowszej]/std:[c++14|c++17|c++latest]

UwagiRemarks

/Std opcja jest używana do sterowania programowania standardowe funkcje językowe, włączone podczas kompilowania kodu C++ ISO określonej wersji.The /std option is used to control the version-specific ISO C++ programming language standard features enabled during compilation of your code. Ta opcja pozwala wyłączyć obsługę niektóre nowe funkcje języka i biblioteki, które mogą być dzielone standardowe istniejący kod zgodnego z określoną wersją języka.This option allows you to disable support for certain new language and library features that may break your existing code that conforms to a particular version of the language standard. Domyślnie /std:c ++ 14 jest określony, która wyłącza języka i odnaleźć w nowszych wersjach języka C++ standardowe funkcje standardowej biblioteki.By default, /std:c++14 is specified, which disables language and standard library features found in later versions of the C++ language standard. Użyj /std:c ++ 17 do włączenia języka C ++ 17 standard specyficzne i zachowania.Use /std:c++17 to enable C++17 standard-specific features and behavior. Aby jawnie włączyć najnowszych obsługiwanych kompilatora i funkcje standardowej biblioteki, użyj /std:c ++ najnowsze.To explicitly enable the latest supported compiler and standard library features, use /std:c++latest.

Wartość domyślna /std:c ++ 14 opcji udostępnia zestaw funkcji C ++ 14 implementowane przez kompilator języka Visual C++.The default /std:c++14 option enables the set of C++14 features implemented by the Visual C++ compiler. Ta opcja powoduje wyłączenie kompilator i biblioteki standardowej obsługi funkcji, które zostały zmienione lub nowych w nowszych wersjach języka standard, z wyjątkiem niektórych funkcji C ++ 17 już zaimplementowany w poprzednich wersjach kompilatora Visual C++.This option disables compiler and standard library support for features that are changed or new in more recent versions of the language standard, with the exception of some C++17 features already implemented in previous releases of the Visual C++ compiler. Aby uniknąć fundamentalne zmiany dla użytkowników, którzy już zostały zależności na funkcje dostępne począwszy od programu Visual Studio 2015 Update 2, te funkcje pozostać włączone, gdy /std:c ++ 14 określono opcję:To avoid breaking changes for users who have already taken dependencies on the features available as of Visual Studio 2015 Update 2, these features remain enabled when the /std:c++14 option is specified:

Aby uzyskać dodatkowe informacje w języku C ++ 14 i C ++ 17 funkcje są włączone podczas /std:c ++ 14 jest określony, zobacz uwagi w Visual zgodność języka C++.For additional information on which C++14 and C++17 features are enabled when /std:c++14 is specified, see the notes in Visual C++ Language Conformance.

/Std:c ++ 17 opcja umożliwia pełnego zestawu funkcji C ++ 17 implementowane przez kompilator języka Visual C++.The /std:c++17 option enables the full set of C++17 features implemented by the Visual C++ compiler. Ta opcja powoduje wyłączenie kompilator i biblioteki standardowej obsługi dla funkcji, które zostały zmienione lub nowego w wersji aktualizacji pracy roboczą i usterką standardu C++ po C ++ 17.This option disables compiler and standard library support for features that are changed or new in versions of the Working Draft and defect updates of the C++ Standard after C++17.

/Std:c ++ najnowsze opcja umożliwia zestaw funkcji języka i biblioteki C++ implementowane przez Visual C++ do śledzenia najbardziej najnowsze C ++ 20 pracy roboczą i usterką aktualizacje standardu C++, które nie znajdują się w języku C ++ 17.The /std:c++latest option enables the set of C++ language and library features implemented by Visual C++ to track the most recent C++20 Working Draft and defect updates of the C++ Standard that are not included in C++17. Użyj tego przełącznika można pobrać post-C ++ 17 języka funkcje obsługiwane przez kompilator i bibliotekę standardową.Use this switch to get the post-C++17 language features supported by the compiler and standard library. Aby uzyskać listę obsługiwanych języków i funkcje biblioteki, zobacz nowości w języku Visual C++.For a list of supported language and library features, see What's New for Visual C++. /Std:c ++ najnowsze opcja nie obsługuje funkcji chroniony przez / eksperymentalne przełącznika.The /std:c++latest option does not enable features guarded by the /experimental switch.

/Std opcji skutkuje podczas kompilacji C++ mogą być wykrywane przy użyciu _MSVC_LANG makro preprocesora.The /std option in effect during a C++ compilation can be detected by use of the _MSVC_LANG preprocessor macro. Aby uzyskać więcej informacji, zobacz makra preprocesora.For more information, see Preprocessor Macros.

/Std:c ++ 14 i /std:c ++ najnowsze opcje są dostępne począwszy od wersji programu Visual C++ 2015 Update 3.The /std:c++14 and /std:c++latest options are available beginning in Visual C++ 2015 Update 3. /Std:c ++ 17 opcja jest dostępne począwszy od wersji programu Visual C++ 2017 wersji 15 ustęp 3.The /std:c++17 option is available beginning in Visual C++ 2017 version 15.3. Jak wspomniano powyżej, niektóre standardzie C ++ 17 zachowanie jest włączone przez /std:c ++ 14 opcja, ale wszystkie inne funkcji C ++ 17 są włączane przez /std:c ++ 17.As noted above, some C++17 standard behavior is enabled by the /std:c++14 option, but all other C++17 features are enabled by /std:c++17.

Uwaga

Zależnie od tego, Visual C++ kompilatora wersji lub aktualizacji, niektórych funkcji C ++ 14 i C ++ 17 mogą nie zostać w pełni zaimplementowana lub pełni zgodność po określeniu /std:c ++ 14 lub /std:c ++ 17 opcje.Depending on the Visual C++ compiler version or update level, certain C++14 or C++17 features may not be fully implemented or fully conformant when you specify the /std:c++14 or /std:c++17 options. Na przykład kompilatora Visual C++ 2017 RTM nie obsługuje w pełni C ++ 14 zgodność constexpr, wyrażenie techniki SFINAE lub wyszukiwanie nazwy fazy 2.For example, the Visual C++ 2017 RTM compiler does not fully support C++14-conformant constexpr, expression SFINAE, or 2-phase name lookup. Omówienie zgodność języka C++ w programie Visual C++ w wersji, zobacz Visual zgodność języka C++.For an overview of C++ language conformance in Visual C++ by release version, see Visual C++ Language Conformance.

Aby ustawić tę opcję kompilatora w środowisku programowania Visual StudioTo set this compiler option in the Visual Studio development environment

  1. Otwórz projekt strony właściwości okno dialogowe.Open the project's Property Pages dialog box. Aby uzyskać więcej informacji, zobacz Praca z właściwościami projektu.For details, see Working with Project Properties.

  2. Wybierz właściwości konfiguracji, C/C++, języka.Select Configuration Properties, C/C++, Language.

  3. W języka C++ — standardowe, wybierz standard języka aby obsługiwać z formantu listy rozwijanej, a następnie wybierz pozycję OK lub Zastosuj Aby zapisać zmiany.In C++ Language Standard, choose the language standard to support from the dropdown control, then choose OK or Apply to save your changes.

Zobacz takżeSee also

Opcje kompilatora Compiler Options
Ustawianie opcji kompilatoraSetting Compiler Options