/ STD (Określ wersję standardu języka)/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 ++ latest]/std:[c++14|c++17|c++latest]

UwagiRemarks

/STD opcja jest dostępna w programie Visual Studio 2017 i nowszym.The /std option is is available in Visual Studio 2017 and later. Służy do kontrolowania programowania standardowe funkcje językowe, włączone podczas kompilowania kodu C++ ISO poszczególnym wersjom.It is used to control the version-specific ISO C++ programming language standard features enabled during compilation of your code. Ta opcja umożliwia wyłączanie obsługi protokołu niektóre nowe funkcje języka i biblioteki, które mogą przestać działać istniejący kod, który jest zgodny z określoną wersją języka standard.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 funkcji biblioteki standardowej, które znajdują się w nowszych wersjach języka C++ standard.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 funkcji C ++ 17 specyficzne dla standardowego i zachowania.Use /std:c++17 to enable C++17 standard-specific features and behavior. Aby jawnie włączyć najnowszy obsługiwany kompilator i funkcje biblioteki standardowej, 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 opcja 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 kompilatora i biblioteki standardowej obsługi funkcji, które zostały zmienione lub nowych w nowszych wersjach standard, z wyjątkiem niektórych funkcji C ++ 17 już zaimplementowane w poprzednich wersjach kompilator języka Visual C++ języka.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ąć istotne zmiany dotyczące użytkowników, którzy już jakieś zależności od funkcji, które są 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 na które funkcji C ++ 14 i C ++ 17 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łny zestaw 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 kompilatora i biblioteki standardowej obsługi funkcji, które zostały zmienione lub nowych wersjach pracy roboczą i wad aktualizacje C++ Standard 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 języka C++ implementowaną przez Visual C++, aby śledzić najbardziej najnowszych C ++ 20 pracy roboczą i wad aktualizacji Standard C++, które nie są uwzględnione 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ć wpisu — funkcji C ++ 17 językowych obsługiwanych przez kompilator i standardową bibliotekę.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 funkcji biblioteki, zobacz What's New for Visual C++.For a list of supported language and library features, see What's New for Visual C++. /STD: c ++ najnowsze opcji nie włącza funkcji chroniony przez / eksperymentalne przełącznika.The /std:c++latest option does not enable features guarded by the /experimental switch.

/STD opcji obowiązuje podczas kompilacji C++ może zostać wykryte 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ępna począwszy od wersji programu Visual C++ 2017 w wersji 15.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 /STD: c ++ 14 opcja, ale wszystkie inne funkcje 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

W zależności od języka Visual C++ kompilator wersji lub aktualizację poziomu niektórych funkcji C ++ 14 i C ++ 17 może nie być w pełni zaimplementowane lub w pełni zgodna 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, kompilator Visual C++ 2017 RTM nie obsługuje w pełni języka C ++ 14 zgodność constexpr, wyrażenie 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 stron 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 standardu języka C++, wybierz standard języka pomocy technicznej 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 kompilatoraCompiler Options
Ustawianie opcji kompilatoraSetting Compiler Options