Zgodność języka Visual C++Visual C++ Language Conformance

Ten temat zawiera podsumowanie ISO C ++ 03, C ++ 11, C ++ 14, C ++ 17 i projekt C ++ 20 języka zgodność ze standardami funkcje kompilatora i biblioteki standardowej funkcji dla kompilatora języka C++ w Visual Studio 2017 i wcześniejszych wersji.This topic summarizes the ISO C++03, C++11, C++14, C++17, and Draft C++20 language standards conformance of compiler features and Standard Library features for the C++ compiler in Visual Studio 2017 and earlier versions. Każdy kompilator i biblioteki standardowej funkcji Nazwa łącza do standardu ISO C++ papieru wniosek, który zawiera opis funkcji, jeśli jest dostępny w momencie publikacji.Each compiler and standard library feature name links to the ISO C++ Standard proposal paper that describes the feature, if one is available at publication time. Kolumna obsługiwane zawiera listę wersji programu Visual Studio, w której obsługa dla funkcji najpierw pojawiły się.The Supported column lists the Visual Studio version in which support for the feature first appeared.

Aby uzyskać więcej informacji na temat udoskonaleń zgodności i inne zmiany w programie Visual Studio 2017, zobacz ulepszenia zgodności języka C++ w programie Visual Studio 2017 i What's New for Visual C++ w programie Visual Studio 2017.For details on conformance improvements and other changes in Visual Studio 2017, see C++ conformance improvements in Visual Studio 2017 and What's New for Visual C++ in Visual Studio 2017. Zgodność ze zmian we wcześniejszych wersjach, zobacz Visual C++ — Historia zmian i Visual C++ co w nowym roku 2003 do 2015.For conformance changes in earlier versions, see Visual C++ change history and Visual C++ What's New 2003 through 2015. Aby uzyskać bieżące informacje od zespołu języka C++, odwiedź stronę blog zespołu Visual C++.For current news from the C++ team, visit the Visual C++ team blog.

Uwaga

Nie ma żadnych danych binarnych przełomowych zmian między wersjami programu Visual Studio 2015 i Visual Studio 2017.There are no binary breaking changes between Visual Studio 2015 and Visual Studio 2017.

Funkcje kompilatoraCompiler Features

Obszar funkcjiFeature Area
C ++ 03/11 podstawowe funkcje językoweC++03/11 Core Language Features ObsługiwaneSupported
  Wszystkie inne elementy  Everything else VS 2015 AVS 2015 A
  Dwufazowe wyszukiwanie nazw  Two-phase name lookup PREMIERA PROGRAMU VS 2017 WERSJI 15.7 BVS 2017 15.7 B
  N2634 Wyrażenie SFINAE  N2634 Expression SFINAE PREMIERA PROGRAMU VS 2017 WERSJI 15.7VS 2017 15.7
  N1653 procesor C99  N1653 C99 preprocessor Częściowe DPartial D
  Rozszerzony N1988 typów całkowitych  N1988 Extended integer types N/D EN/A E
C ++ 14 podstawowe funkcje językoweC++14 Core Language Features ObsługiwaneSupported
  Konwersje kontekstowe N3323 Tweaked sformułowanie funkcji  N3323 Tweaked wording for contextual conversions VS 2013VS 2013
  Literały binarne N3472  N3472 Binary literals VS 2015VS 2015
  Automatycznie N3638 i decltype(auto) typy zwracane  N3638 auto and decltype(auto) return types VS 2015VS 2015
  N3648 init przechwytywania  N3648 init-captures VS 2015VS 2015
  N3649 ogólnych wyrażeń lambda  N3649 Generic lambdas VS 2015VS 2015
  Atrybut N3760 [[deprecated]]  N3760 [[deprecated]] attribute VS 2015VS 2015
  Rozmiar N3778 cofania alokacji  N3778 Sized deallocation VS 2015VS 2015
  Separatory cyfr N3781  N3781 Digit separators VS 2015VS 2015
  Szablony N3651 zmiennej  N3651 Variable templates VS 2015.2VS 2015.2
  Rozszerzony N3652 constexpr  N3652 Extended constexpr VS 2017VS 2017
  NSDMIs N3653 dla wartości zagregowanych  N3653 NSDMIs for aggregates VS 2017VS 2017
  N3664 Alokacje elementem zespalając zapobieganie /  N3664 Avoiding/fusing allocations N/D FN/A F
C ++ 17 podstawowe funkcje językoweC++17 Core Language Features ObsługiwaneSupported
  Usuwanie N4086 trójznaków  N4086 Removing trigraphs VS 2010 14VS 2010 14
  N3922 nowe reguły automatycznej z kopiowaniem list inicjacji  N3922 New rules for auto with braced-init-lists VS 2015 14VS 2015 14
  Typename N4051 za parametrów szablonu szablonu  N4051 typename in template template-parameters VS 2015 14VS 2015 14
  Atrybuty N4266 dla przestrzeni nazw oraz wyliczeń  N4266 Attributes for namespaces and enumerators VS 2015 14VS 2015 14
  Literały znakowe u8 N4267  N4267 u8 character literals VS 2015 14VS 2015 14
  Zagnieżdżone N4230 definicji przestrzeni nazw  N4230 Nested namespace definitions VS 2015.3 17VS 2015.3 17
  Zwięzła N3928 static_assert  N3928 Terse static_assert VS 2017 17VS 2017 17
  Uogólnione P0184R0 opartej na zakresie pętle  P0184R0 Generalized range-based for-loops VS 2017 14VS 2017 14
  P0188R1 atrybut [[fallthrough]]  P0188R1 [[fallthrough]] attribute VS 2017 17VS 2017 17
  P0001R1 usuwanie register — słowo kluczowe  P0001R1 Removing the register keyword PREMIERA PROGRAMU VS 2017 15.3 17VS 2017 15.3 17
  Usuwanie P0002R1 operator ++ dla bool  P0002R1 Removing operator++ for bool PREMIERA PROGRAMU VS 2017 15.3 17VS 2017 15.3 17
  Przechwytywanie P0018R3 * to według wartości  P0018R3 Capturing *this by value PREMIERA PROGRAMU VS 2017 15.3 17VS 2017 15.3 17
  P0028R4 przy użyciu atrybutu przestrzeni nazw bez powtarzania  P0028R4 Using attribute namespaces without repetition PREMIERA PROGRAMU VS 2017 15.3 17VS 2017 15.3 17
  P0061R1 __has_include  P0061R1 __has_include PREMIERA PROGRAMU VS 2017 15.3 14VS 2017 15.3 14
  P0138R2 bezpośrednio list inicjowania typów stałych wyliczeniowych z liczb całkowitych  P0138R2 Direct-list-init of fixed enums from integers PREMIERA PROGRAMU VS 2017 15.3 17VS 2017 15.3 17
  Lambdy wyrażeń constexpr P0170R1  P0170R1 constexpr lambdas PREMIERA PROGRAMU VS 2017 15.3 17VS 2017 15.3 17
  P0189R1 atrybut [[nodiscard]]  P0189R1 [[nodiscard]] attribute PREMIERA PROGRAMU VS 2017 15.3 17VS 2017 15.3 17
  P0212R1 atrybut [[maybe_unused]]  P0212R1 [[maybe_unused]] attribute PREMIERA PROGRAMU VS 2017 15.3 17VS 2017 15.3 17
  Powiązania strukturalne P0217R3  P0217R3 Structured bindings PREMIERA PROGRAMU VS 2017 15.3 17VS 2017 15.3 17
  Instrukcji if P0292R2 constexpr  P0292R2 constexpr if-statements PREMIERA PROGRAMU VS 2017 15.3 GVS 2017 15.3 G
  Instrukcje wyboru P0305R1 z inicjatorami  P0305R1 Selection statements with initializers PREMIERA PROGRAMU VS 2017 15.3 17VS 2017 15.3 17
  Literałów typu Hexfloat P0245R1  P0245R1 Hexfloat literals VS 2017 15.5 17VS 2017 15.5 17
  Co N4268 więcej argumentów szablonu bez typu  N4268 Allowing more non-type template args VS 2017 15.5 17VS 2017 15.5 17
  N4295 złożyć wyrażenia  N4295 Fold expressions VS 2017 15.5 17VS 2017 15.5 17
  Usuwanie P0003R5 dynamiczne wyjątek specyfikacji  P0003R5 Removing dynamic-exception-specifications VS 2017 15.5 17VS 2017 15.5 17
  Dodawanie P0012R1 noexcept do systemu typów  P0012R1 Adding noexcept to the type system VS 2017 15.5 17VS 2017 15.5 17
  P0035R4 nadmiernie wyrównanych dynamicznej alokacji pamięci  P0035R4 Over-aligned dynamic memory allocation VS 2017 15.5 17VS 2017 15.5 17
  Zmienne śródwierszowe P0386R2  P0386R2 Inline variables VS 2017 15.5 17VS 2017 15.5 17
  Dopasowywanie P0522R0 szablonu — parametry szablonu zgodne argumentów  P0522R0 Matching template template-parameters to compatible arguments VS 2017 15.5 17VS 2017 15.5 17
  Usuwanie P0036R0 niektóre pusty złożeń jednoargumentowy  P0036R0 Removing some empty unary folds VS 2017 15.5 17VS 2017 15.5 17
  Naprawianie N4261 konwersji kwalifikacji  N4261 Fixing qualification conversions PREMIERA PROGRAMU VS 2017 WERSJI 15.7 17VS 2017 15.7 17
  Rozszerzony P0017R1 inicjowania agregacji  P0017R1 Extended aggregate initialization PREMIERA PROGRAMU VS 2017 WERSJI 15.7 17VS 2017 15.7 17
  Wnioskowanie argumentu szablonu P0091R3 dla szablonów klas  P0091R3 Template argument deduction for class templates
  Problemy Wnioskowanie argumentu szablonu klasy P0512R0  P0512R0 Class template argument deduction issues
PREMIERA PROGRAMU VS 2017 WERSJI 15.7 17VS 2017 15.7 17
  Deklarowanie P0127R2 parametry szablonu bez typu, dzięki funkcji autoskalowania  P0127R2 Declaring non-type template parameters with auto PREMIERA PROGRAMU VS 2017 WERSJI 15.7 17VS 2017 15.7 17
  Gwarantowana P0135R1 pominięcia kopii  P0135R1 Guaranteed copy elision PREMIERA PROGRAMU VS 2017 15.6HVS 2017 15.6H
  Zmiana sformułowania elementu P0136R1, konstruktory dziedziczące  P0136R1 Rewording inheriting constructors PREMIERA PROGRAMU VS 2017 WERSJI 15.7 17VS 2017 15.7 17
  P0137R1 std::launder  P0137R1 std::launder PREMIERA PROGRAMU VS 2017 WERSJI 15.7 17VS 2017 15.7 17
  Rafinacja P0145R3 kolejność obliczania wyrażeń  P0145R3 Refining expression evaluation order
  P0400R0 kolejność obliczania argumenty funkcji  P0400R0 Order of evaluation of function arguments
PREMIERA PROGRAMU VS 2017 WERSJI 15.7 17VS 2017 15.7 17
  Rozwinięcia P0195R2 Pack w deklaracjach using  P0195R2 Pack expansions in using-declarations PREMIERA PROGRAMU VS 2017 WERSJI 15.7 17VS 2017 15.7 17
  P0283R2 ignoruje nieznane atrybuty  P0283R2 Ignoring unrecognized attributes VS 2015 14VS 2015 14
  Naprawianie P0702R1 klasy odliczanie argumentu szablon na liście inicjatora konstruktory  P0702R1 Fixing class template argument deduction for initializer-list ctors PREMIERA PROGRAMU VS 2017 WERSJI 15.7 17VS 2017 15.7 17
Obszar funkcjiFeature Area
C ++ 17 podstawowych funkcji języka (zgłoszeń wad)C++17 Core Language Features (Defect Reports) ObsługiwaneSupported
  Naprawianie P0702R1 klasy odliczanie argumentu szablon na liście inicjatora konstruktory  P0702R1 Fixing class template argument deduction for initializer-list ctors PREMIERA PROGRAMU VS 2017 WERSJI 15.7 17VS 2017 15.7 17
  Upraszczanie P0588R1 przechwytywania lambda niejawne  P0588R1 Simplifying implicit lambda capture NieNo
  CWG 1581: Gdy funkcje Członkowskie constexpr zdefiniowano?  CWG 1581: When are constexpr member functions defined? NieNo
  P0962R1 złagodzić Dostosowywanie powiązań strukturalnych punktu reguły wyszukiwania  P0962R1 Relaxing the structured bindings customization point finding rules NieNo
  P0962R2 złagodzić zakres — punkt dostosowywania pętli znajdowanie reguły  P0962R2 Relaxing the range-for loop customization point finding rules NieNo
  P0969R0, dzięki czemu mają strukturę powiązania z dostępne elementy członkowskie  P0969R0 Allowing structured bindings to accessible members NieNo
Obszar funkcjiFeature Area
20 podstawowe funkcje języka c ++C++20 Core Language Features ObsługiwaneSupported
  Dodawanie P0306R4 _ _VA_OPT_ _ pominięcie przecinek i usuwania przecinkami  P0306R4 Adding __VA_OPT__ for comma omission and comma deletion NieNo
  Wyznaczony P0329R4 inicjowania  P0329R4 Designated initialization NieNo
  Co P0409R2 lambda-capture [=, to]  P0409R2 Allowing lambda-capture [=, this] NieNo
  P0428R2 znanej składni szablonu dla ogólnych wyrażeń lambda  P0428R2 Familiar template syntax for generic lambdas NieNo
  Domyślne P0683R1 inicjatorów składowych dla pól bitowych  P0683R1 Default member initializers for bit-fields NieNo
  Naprawianie P0704R1 const l-wartości kwalifikowana ref wskaźników do elementów członkowskich  P0704R1 Fixing const lvalue ref-qualified pointers to members NieNo
  Pojęcia dotyczące P0734R0  P0734R0 Concepts NieNo

Funkcje biblioteki standardowejStandard Library Features

Obszar funkcjiFeature Area
Funkcje 20 standardowej biblioteki c ++C++20 Standard Library Features ObsługiwaneSupported
   Unikanie niepotrzebnych zanikania P0777R1   P0777R1 Avoiding Unnecessary Decay PREMIERA PROGRAMU VS 2017 WERSJI 15.7 14VS 2017 15.7 14
  P0463R1 endian  P0463R1 endian NieNo
  Make_shared() P0674R1 dla tablic  P0674R1 make_shared() For Arrays NieNo
  Wymagania dotyczące iteratora Constexpr P0858R0  P0858R0 Constexpr Iterator Requirements PREMIERA PROGRAMU VS 2017 15.3 17VS 2017 15.3 17
  P0809R0 porównanie, nieuporządkowane kontenery  P0809R0 Comparing Unordered Containers VS 2010 14VS 2010 14
   P0020R3 atomic<float > niepodzielna<double > niepodzielna<typu long double >   P0020R3 atomic<float>, atomic<double>, atomic<long double> NieNo
   P0053R7 <syncstream >   P0053R7 <syncstream>
   Osyncstream P0753R2 manipulatory   P0753R2 osyncstream Manipulators
NieNo
   P0122R7 <span >   P0122R7 <span> NieNo
   P0202R3 constexpr dla <algorytm > i funkcja exchange()   P0202R3 constexpr For <algorithm> And exchange() NieNo
   P0355R7 <chrono > stref czasowych i kalendarze   P0355R7 <chrono> Calendars And Time Zones NieNo
   P0415R1 constexpr dla <złożonych > (ponownie)   P0415R1 constexpr For <complex> (Again) NieNo
   Memory_order klasy enum P0439R0   P0439R0 enum class memory_order NieNo
   Starts_with()/ends_with() P0457R2 dla basic_string/basic_string_view   P0457R2 starts_with()/ends_with() For basic_string/basic_string_view NieNo
   P0550R2 remove_cvref   P0550R2 remove_cvref NieNo
   P0551R3 są jak Shalt nie specjalizują się standardowe szablony funkcji!   P0551R3 Thou Shalt Not Specialize std Function Templates! NieNo
   P0600R1 [ [nodiscard] ] dla STL, część 1   P0600R1 [[nodiscard]] For The STL, Part 1 NieNo
   Za pomocą P0616R0 move() w <liczbowych >   P0616R0 Using move() In <numeric> NieNo
   P0653R2 to_address()   P0653R2 to_address() NieNo
   P0718R2 atomic<shared_ptr<T >> niepodzielna<weak_ptr<T >>   P0718R2 atomic<shared_ptr<T>>, atomic<weak_ptr<T>> NieNo
   P0754R2 <wersja >   P0754R2 <version> NieNo
   Is_pod P0767R1 wycofano   P0767R1 Deprecating is_pod NieNo
   Operator porównania pojazdu kosmicznego obsługę biblioteki P0768R1 <=>   P0768R1 Library Support For The Spaceship Comparison Operator <=> NieNo
   P0966R1 ciągu:: reserve() nie powinno zmniejszyć.   P0966R1 string::reserve() Should Not Shrink NieNo
Funkcji c ++ 17 biblioteki standardowejC++17 Standard Library Features ObsługiwaneSupported
  Integrowanie P0433R2 wnioskowanie szablonu dla szablonów klas, do biblioteki standardowej  P0433R2 Integrating template deduction for class templates into the standard library
  Poprawa P0739R0 klasy argument wnioskowanie integracji szablonu do biblioteki standardowej  P0739R0 Improving class template argument deduction integration into the standard library
PREMIERA PROGRAMU VS 2017 WERSJI 15.7VS 2017 15.7
  P0426R1 constexpr dla char_traits  P0426R1 constexpr For char_traits PREMIERA PROGRAMU VS 2017 WERSJI 15.7VS 2017 15.7
  Hypot P0030R1 — (x, y, z)  P0030R1 hypot(x, y, z) PREMIERA PROGRAMU VS 2017 WERSJI 15.7VS 2017 15.7
  Podstawowe informacje dotyczące biblioteki P0220R1 w wersji 1  P0220R1 Library Fundamentals V1 PREMIERA PROGRAMU VS 2017 15.6 "J"VS 2017 15.6 J
  P0067R5 podstawowe ciąg konwersje  P0067R5 Elementary String Conversions Program VS 2017 w wersji 15.7 charconvVS 2017 15.7 charconv
  N4562 Dokumentu Library Fundamentals: <memory_resource >  N4562 Library Fundamentals: <memory_resource>
  Usuwanie P0337R0 polymorphic_allocator przypisania  P0337R0 Deleting polymorphic_allocator Assignment
PREMIERA PROGRAMU VS 2017 15.6VS 2017 15.6
  Algorytmy równoległe P0024R2  P0024R2 Parallel Algorithms
  Zasady wykonywania równoległego zmiana nazwy P0336R1  P0336R1 Renaming Parallel Execution Policies
  Algorytmy równoległe P0394R4 powinien terminate() dla wyjątków  P0394R4 Parallel Algorithms Should terminate() For Exceptions
  P0452R1, ujednolicając naukę <liczbowych > algorytmy równoległe  P0452R1 Unifying <numeric> Parallel Algorithms
PREMIERA PROGRAMU VS 2017 WERSJI 15.7VS 2017 15.7
  P0226R1 specjalne funkcje matematyczne  P0226R1 Mathematical Special Functions PREMIERA PROGRAMU VS 2017 WERSJI 15.7VS 2017 15.7
  P0218R1 <filesystem>  P0218R1 <filesystem>
  P0219R1 ścieżki względne do plików  P0219R1 Relative Paths For Filesystem
  Wpis katalogu P0317R1 buforowania dla systemu plików  P0317R1 Directory Entry Caching For Filesystem
  Obsługa P0392R0 string_view w ścieżkach systemu plików  P0392R0 Supporting string_view In Filesystem Paths
  Systemy plików POSIX bez obsługi P0430R2  P0430R2 Supporting Non-POSIX Filesystems
  P0492R2 rozpoznawanie NB komentarzy do systemu plików  P0492R2 Resolving NB Comments for Filesystem
PREMIERA PROGRAMU VS 2017 WERSJI 15.7 KVS 2017 15.7 K
  Specyfikacje wyjątków dynamicznych usuwanie P0003R5  P0003R5 Removing Dynamic Exception Specifications VS 2017 15.5 17VS 2017 15.5 17
  P0005R4 not_fn()  P0005R4 not_fn()
  P0358R1 poprawek not_fn()  P0358R1 Fixes For not_fn()
VS 2017 15.5 17VS 2017 15.5 17
  Zmiana sformułowania elementu P0033R1 enable_shared_from_this —  P0033R1 Rewording enable_shared_from_this PREMIERA PROGRAMU VS 2017 15.5 14VS 2017 15.5 14
  P0083R3 łączenie map i zestawów  P0083R3 Splicing Maps And Sets
  Wyjaśnienie P0508R0 insert_return_type  P0508R0 Clarifying insert_return_type
VS 2017 15.5 17VS 2017 15.5 17
  P0174R2 wycofano przestarzały biblioteki części  P0174R2 Deprecating Vestigial Library Parts VS 2017 15.5 17VS 2017 15.5 17
  Std::function P0302R1 usuwanie alokatora do obsługi  P0302R1 Removing Allocator Support In std::function VS 2017 15.5 17VS 2017 15.5 17
  P0414R2 shared_ptr<T [] >, shared_ptr<T [N] >  P0414R2 shared_ptr<T[]>, shared_ptr<T[N]>
  Naprawianie P0497R0 shared_ptr dla tablic  P0497R0 Fixing shared_ptr For Arrays
PREMIERA PROGRAMU VS 2017 15.5 14VS 2017 15.5 14
  Wycofano P0521R0 shared_ptr::unique()  P0521R0 Deprecating shared_ptr::unique() VS 2017 15.5 17VS 2017 15.5 17
  P0607R0 zmienne śródwierszowe standardowej biblioteki  P0607R0 Inline Variables for the Standard Library VS 2017 15.5 17VS 2017 15.5 17
  Wycofano P0618R0 <codecvt >  P0618R0 Deprecating <codecvt> VS 2017 15.5 17VS 2017 15.5 17
  N4562 Dokumentu Library Fundamentals: search() Boyer Moore  N4562 Library Fundamentals: Boyer-Moore search()
  P0253R1 ustalania wykryć typy zwracane  P0253R1 Fixing Searcher Return Types
PREMIERA PROGRAMU VS 2017 15.3 17VS 2017 15.3 17
  P0031R0 constexpr dla <array > (ponownie) i <iterator >  P0031R0 constexpr For <array> (Again) And <iterator> PREMIERA PROGRAMU VS 2017 15.3 17VS 2017 15.3 17
  Narzędzia do zarządzania Rozszerzanie pamięci P0040R3  P0040R3 Extending Memory Management Tools PREMIERA PROGRAMU VS 2017 15.3 17VS 2017 15.3 17
  P0084R2 emplace — typ zwracany  P0084R2 Emplace Return Type PREMIERA PROGRAMU VS 2017 15.3 17VS 2017 15.3 17
  P0152R1 atomic::is_always_lock_free  P0152R1 atomic::is_always_lock_free PREMIERA PROGRAMU VS 2017 15.3 17VS 2017 15.3 17
  P0154R1 hardware_destructive_interference_size itp.  P0154R1 hardware_destructive_interference_size, etc. PREMIERA PROGRAMU VS 2017 15.3 17VS 2017 15.3 17
  Zablokuj P0156R2 zmiana nazwy zmiennych_je przed nieprzewidzianymi do zakresu_blokady  P0156R2 Renaming Variadic lock_guard to scoped_lock PREMIERA PROGRAMU VS 2017 15.3 17VS 2017 15.3 17
  P0258R2 has_unique_object_representations  P0258R2 has_unique_object_representations PREMIERA PROGRAMU VS 2017 15.3 LVS 2017 15.3 L
  P0295R0 gcd(), lcm()  P0295R0 gcd(), lcm() PREMIERA PROGRAMU VS 2017 15.3 17VS 2017 15.3 17
  P0298R3 std::byte  P0298R3 std::byte Program VS 2017 15.3 17, bajtówVS 2017 15.3 17, byte
  P0403R1 UDL dla <string_view > ("meow" sv itp.)  P0403R1 UDLs For <string_view> ("meow"sv, etc.) PREMIERA PROGRAMU VS 2017 15.3 17VS 2017 15.3 17
  P0418R2 atomic compare_exchange memory_order wymagania  P0418R2 atomic compare_exchange memory_order Requirements PREMIERA PROGRAMU VS 2017 15.3 14VS 2017 15.3 14
  Common_type P0435R1 przeglądu  P0435R1 Overhauling common_type
  Dostosowywanie P0548R1 typowe_typ i czas trwania  P0548R1 Tweaking common_type and duration
PREMIERA PROGRAMU VS 2017 15.3 14VS 2017 15.3 14
  P0505R0 constexpr dla <chrono > (ponownie)  P0505R0 constexpr For <chrono> (Again) PREMIERA PROGRAMU VS 2017 15.3 17VS 2017 15.3 17
  Skażające P0513R0 wyznaczania wartości skrótu  P0513R0 Poisoning hash
  Operator noexcept P0599R1 wyznaczania wartości skrótu  P0599R1 noexcept hash
PREMIERA PROGRAMU VS 2017 15.3 14VS 2017 15.3 14
  Oznaczanie P0516R0 shared_future — kopiowanie jako noexcept  P0516R0 Marking shared_future Copying As noexcept PREMIERA PROGRAMU VS 2017 15.3 14VS 2017 15.3 14
  Konstruowanie P0517R0 future_error z future_errc  P0517R0 Constructing future_error From future_errc PREMIERA PROGRAMU VS 2017 15.3 14VS 2017 15.3 14
  P0558R1 rozpoznawanie atomic o nazwie niespójności klasy podstawowej  P0558R1 Resolving atomic Named Base Class Inconsistencies PREMIERA PROGRAMU VS 2017 15.3 14VS 2017 15.3 14
  Zmiana P0604R0 jest_wywoływalnej/wyników_elementu do wywołania_wyniku, jest_można wywołać, jest_nothrow_można wywołać  P0604R0 Changing is_callable/result_of To invoke_result, is_invocable, is_nothrow_invocable PREMIERA PROGRAMU VS 2017 15.3 17VS 2017 15.3 17
  N4562 Dokumentu Library Fundamentals: <algorytm > sample()  N4562 Library Fundamentals: <algorithm> sample() VS 2017VS 2017
  N4562 Dokumentu Library Fundamentals: <wszelkie >  N4562 Library Fundamentals: <any> VS 2017VS 2017
  N4562 Dokumentu Library Fundamentals: <opcjonalne >  N4562 Library Fundamentals: <optional> VS 2017VS 2017
  N4562 Dokumentu Library Fundamentals: <string_view >  N4562 Library Fundamentals: <string_view> VS 2017VS 2017
  N4562 Dokumentu Library Fundamentals: <krotki > apply()  N4562 Library Fundamentals: <tuple> apply() VS 2017VS 2017
  P0032R3 jednorodny interfejs dla wariantu/any/opcjonalne  P0032R3 Homogeneous Interface For variant/any/optional VS 2017VS 2017
  P0077R2 is_callable, is_nothrow_callable  P0077R2 is_callable, is_nothrow_callable VS 2017VS 2017
  P0088R3 <wariantu >  P0088R3 <variant> VS 2017VS 2017
  P0163R0 shared_ptr::weak_type  P0163R0 shared_ptr::weak_type VS 2017VS 2017
  P0209R2 make_from_tuple()  P0209R2 make_from_tuple() VS 2017VS 2017
  Integrowanie P0254R2 string_view i std::string  P0254R2 Integrating string_view And std::string VS 2017VS 2017
  P0307R2 podejmowanie opcjonalna większa równe ponownie  P0307R2 Making Optional Greater Equal Again VS 2017VS 2017
  Podejmowanie P0393R3 Variant większa równości  P0393R3 Making Variant Greater Equal VS 2017VS 2017
  Ponowne spojrzenie na P0504R0 in_place_t/in_place_type_t<T > / in_place_index_t<mogę >  P0504R0 Revisiting in_place_t/in_place_type_t<T>/in_place_index_t<I> VS 2017VS 2017
  Odrzuca P0510R0 wariantów z Nothing, tablice, odwołania i niekompletnych typów  P0510R0 Rejecting variants Of Nothing, Arrays, References, And Incomplete Types VS 2017VS 2017
  P0025R1 clamp()  P0025R1 clamp() VS 2015.3VS 2015.3
  P0185R1 is_swappable, is_nothrow_swappable  P0185R1 is_swappable, is_nothrow_swappable VS 2015.3VS 2015.3
  P0272R1 Non-const basic_string::data()  P0272R1 Non-const basic_string::data() VS 2015.3VS 2015.3
  Poprawa N4387 parę i krotki  N4387 Improving pair And tuple VS 2015.2 14VS 2015.2 14
  Shared_mutex N4508 (Untimed)  N4508 shared_mutex (Untimed) VS 2015.2 14VS 2015.2 14
  Usuwanie P0004R1 przestarzałe aliasów iostream  P0004R1 Removing Deprecated Iostreams Aliases VS 2015.2 remVS 2015.2 rem
  P0006R0 zmienne szablony dla cech typu (is_same_v itp.).  P0006R0 Variable Templates For Type Traits (is_same_v, etc.) VS 2015.2 14VS 2015.2 14
  P0007R1 as_const()  P0007R1 as_const() VS 2015.2 14VS 2015.2 14
  P0013R1 logiczne cech typu operatora (połączeniu itp.).  P0013R1 Logical Operator Type Traits (conjunction, etc.) VS 2015.2 14VS 2015.2 14
  Owner_less — P0074R0<>  P0074R0 owner_less<> VS 2015.2 14VS 2015.2 14
  P0092R1 <chrono > floor() ceil(), round(), abs()  P0092R1 <chrono> floor(), ceil(), round(), abs() VS 2015.2 14VS 2015.2 14
  Lock_guard P0156R0 ze zmienną liczbą argumentów  P0156R0 Variadic lock_guard VS 2015.2 14VS 2015.2 14
  N3911 void_t  N3911 void_t VS 2015 14VS 2015 14
  Unique_ptr N4089 bezpiecznej konwersji w<T [] >  N4089 Safe Conversions In unique_ptr<T[]> VS 2015 14VS 2015 14
  N4169 invoke()  N4169 invoke() VS 2015 14VS 2015 14
  Usuwanie N4190 auto_ptr, random_shuffle() i starych <funkcjonalności > rzeczy  N4190 Removing auto_ptr, random_shuffle(), And Old <functional> Stuff Program VS 2015 remVS 2015 rem
  Operator noexcept N4258 przesłali  N4258 noexcept Cleanups VS 2015 14VS 2015 14
  N4259 uncaught_exceptions()  N4259 uncaught_exceptions() VS 2015 14VS 2015 14
  Reference_wrapper N4277 Trywialne  N4277 Trivially Copyable reference_wrapper VS 2015 14VS 2015 14
  Funkcje N4279 insert_or_assign()/try_emplace() dla map/unordered_map  N4279 insert_or_assign()/try_emplace() For map/unordered_map VS 2015 14VS 2015 14
  N4280 size(), empty(), data()  N4280 size(), empty(), data() VS 2015 14VS 2015 14
  Unique_ptr N4366 dokładnie ograniczając przypisania  N4366 Precisely Constraining unique_ptr Assignment VS 2015 14VS 2015 14
  N4389 bool_constant  N4389 bool_constant VS 2015 14VS 2015 14
  Standardowa biblioteka C11 P0063R3  P0063R3 C11 Standard Library VS 2015 C11, 14VS 2015 C11, 14
  N4510 obsługi niekompletne typy w wektor/list/forward_list  N4510 Supporting Incomplete Types In vector/list/forward_list VS 2013 14VS 2013 14
Funkcji c ++ 14 biblioteki standardowejC++14 Standard Library Features ObsługiwaneSupported
  Result_of — przyjaznego SFINAE N3462  N3462 SFINAE-Friendly result_of VS 2015.2VS 2015.2
  N3302 constexpr dla <złożonych >  N3302 constexpr For <complex> VS 2015VS 2015
  N3469 constexpr dla <chrono >  N3469 constexpr For <chrono> VS 2015VS 2015
  N3470 constexpr dla <tablicy >  N3470 constexpr For <array> VS 2015VS 2015
  N3471 constexpr dla <initializer_list >, <krotki >, <Narzędzia >  N3471 constexpr For <initializer_list>, <tuple>, <utility> VS 2015VS 2015
  N3545 integral_constant::operator()()  N3545 integral_constant::operator()() VS 2015VS 2015
  N3642 UDL dla <chrono >, <ciągu > (1729ms, "meow" s itp.)  N3642 UDLs For <chrono>, <string> (1729ms, "meow"s, etc.) VS 2015VS 2015
  N3644 Tworzyć Iteratory do przodu o wartości Null  N3644 Null Forward Iterators VS 2015VS 2015
  Funkcja quoted() N3654  N3654 quoted() VS 2015VS 2015
  N3657 Heterogeniczne wyszukiwanie asocjacyjne  N3657 Heterogeneous Associative Lookup VS 2015VS 2015
  N3658 integer_sequence  N3658 integer_sequence VS 2015VS 2015
  Shared_mutex N3659 (czasem)  N3659 shared_mutex (Timed) VS 2015VS 2015
  Funkcja exchange() N3668  N3668 exchange() VS 2015VS 2015
  Naprawianie N3669 constexpr element członkowski funkcji bez const  N3669 Fixing constexpr Member Functions Without const VS 2015VS 2015
  Pobierz N3670<T >)  N3670 get<T>() VS 2015VS 2015
  N3671 Funkcje Dwuzakresowymi, podwójnym zakresie  N3671 Dual-Range equal(), is_permutation(), mismatch() VS 2015VS 2015
  N3778 Dezalokacji wielkości  N3778 Sized Deallocation VS 2015VS 2015
  N3779 UDL dla <złożonych > (ciąg 3.14i, itp.)  N3779 UDLs For <complex> (3.14i, etc.) VS 2015VS 2015
  N3789 constexpr dla <funkcjonalności >  N3789 constexpr For <functional> VS 2015VS 2015
  N3887 alias typu tuple_element_t  N3887 tuple_element_t VS 2015VS 2015
  Zmiana nazwy N3891 shared_mutex (czasem) do shared_timed_mutex  N3891 Renaming shared_mutex (Timed) To shared_timed_mutex VS 2015VS 2015
  N3346 Wymagania dotyczące elementu kontenera minimalny  N3346 Minimal Container Element Requirements VS 2013VS 2013
  N3421 przezroczyste Funktory operatora (mniej<> itp.)  N3421 Transparent Operator Functors (less<>, etc.) VS 2013VS 2013
  N3655 Alias szablonów dla <type_traits > (decay_t, itp.)  N3655 Alias Templates For <type_traits> (decay_t, etc.) VS 2013VS 2013
  N3656 make_unique()  N3656 make_unique() VS 2013VS 2013
  N3924 Ograniczanie rand()  N3924 Discouraging rand() BrakN/A

Grupa dokumentów razem na liście wskazuje, że funkcja została wybrana w standardowej, a następnie co najmniej jeden dokumentów, aby zwiększyć lub rozszerzyć tę funkcję również pod głosowanie.A group of papers listed together indicates that a feature was voted into the Standard, and then one or more papers to improve or expand that feature were also voted in. Te funkcje są wdrażane razem.These features are implemented together.

Obsługiwane wartościSupported values

Nie oznacza, że nie została jeszcze zaimplementowana.No means not yet implemented.
Częściowe oznacza, że wdrożenia w programie Visual Studio 2017 nie została ukończona.Partial means the implementation in Visual Studio 2017 is incomplete. Aby uzyskać więcej informacji zobacz sekcję Uwagi.For more details, see the Notes section.
N/d oznacza, że dokumentacja propozycji nie opisano funkcje.N/A means the proposal papers do not describe features. Te dokumenty zmieniony język standardowych, ale nie utworzono wszelkie prace dotyczące implementacji.These papers altered the language of the standard, but didn’t create any work for implementers. Są one wyświetlane tutaj aby informacje były kompletne.They’re listed here for completeness.
VS 2010 wskazuje funkcje, które są obsługiwane w programie Visual Studio 2010.VS 2010 indicates features that are supported in Visual Studio 2010.
VS 2013 wskazuje funkcje, które są obsługiwane w programie Visual Studio 2013.VS 2013 indicates features that are supported in Visual Studio 2013.
Program VS 2015 wskazuje funkcje, które są obsługiwane w programie Visual Studio 2015 RTM.VS 2015 indicates features that are supported in Visual Studio 2015 RTM.
VS 2015.2 i VS 2015.3 wskazać funkcje, które są obsługiwane w programie Visual Studio 2015 Update 2 i programu Visual Studio 2015 Update 3, odpowiednio.VS 2015.2 and VS 2015.3 indicate features that are supported in Visual Studio 2015 Update 2 and Visual Studio 2015 Update 3, respectively.
Premiera programu VS 2017 wskazuje funkcje, które są obsługiwane w programie Visual Studio 2017 RTM.VS 2017 indicates features that are supported in Visual Studio 2017 RTM.
Program VS 2017 15.3 wskazuje funkcje, które są obsługiwane w programie Visual Studio 2017 w wersji 15.3.VS 2017 15.3 indicates features that are supported in Visual Studio 2017 version 15.3.
Program VS 2017 15.5 wskazuje funkcje, które są obsługiwane w programie Visual Studio 2017 w wersji 15.5.VS 2017 15.5 indicates features that are supported in Visual Studio 2017 version 15.5.
Program VS 2017 w wersji 15.7 wskazuje funkcje, które są obsługiwane w programie Visual Studio 2017 wersji 15.7.VS 2017 15.7 indicates features that are supported in Visual Studio 2017 version 15.7.

UwagiNotes

A w/STD: c ++ 14 tryb specyfikacje wyjątków dynamicznych pozostają niezaimplementowana i throw() nadal jest traktowany jako synonim dla _ _declspec(nothrow).A In /std:c++14 mode, dynamic exception specifications remain unimplemented, and throw() is still treated as a synonym for __declspec(nothrow). W języku C ++ 17, specyfikacje wyjątków dynamicznych zostały usunięte przede wszystkim przez P0003R5, pozostawiając jeden vestige: throw() jest przestarzała i trzeba zachowywać się jak synonimem noexcept.In C++17, dynamic exception specifications were mostly removed by P0003R5, leaving one vestige: throw() is deprecated and required to behave as a synonym for noexcept. W/STD: c ++ 17 tryb MSVC jest teraz zgodny ze standardem, zapewniając throw() takie samo zachowanie jako noexcept, czyli wymuszania za pośrednictwem rozwiązania.In /std:c++17 mode, MSVC now conforms to the Standard by giving throw() the same behavior as noexcept, i.e. enforcement via termination.

Opcja kompilatora /Zc:noexceptTypes-żądań nasze poprzednie działanie _ _declspec(nothrow).The compiler option /Zc:noexceptTypes- requests our old behavior of __declspec(nothrow). Istnieje prawdopodobieństwo, że throw() zostaną usunięte w języku C ++ 20.It’s likely that throw() will be removed in C++20. Pomagające w migracji dodano kod w odpowiedzi na te zmiany w wersji Standard i naszej implementacji nowe ostrzeżenia kompilatora problemów specyfikacji wyjątku w ramach /STD: c ++ 17 i /permissive-.To help with migrating code in response to these changes in the Standard and our implementation, new compiler warnings for exception specification issues have been added under /std:c++17 and /permissive-.

B obsługiwane w /permissive-mode w programie Visual Studio 2017 wersji 15.7.B Supported in /permissive- mode in Visual Studio 2017 version 15.7. Zobacz nazwa dwufazowe wyszukiwanie obsługuje już MSVC Aby uzyskać więcej informacji.See Two-phase name lookup support comes to MSVC for more information.

C kompilatora obsługę wyrażenie SFINAE został wystarczające do biblioteki standardowej od programu Visual Studio 2015 Update 2.C The compiler’s support for Expression SFINAE has been sufficient for the Standard Library since Visual Studio 2015 Update 2. Obsługiwane w programie Visual Studio 2017 w wersji 15.7, niezależnie od tego, czy ustawiono /permissive-mode.Supported in Visual Studio 2017 15.7 regardless of whether /permissive- mode is set. Niektóre błędy pozostają naprawy.Some bugs remain to be fixed. Rozwiązanie "unikatowych tagów type" nie jest już konieczne i usunęliśmy to obejście z naszej implementacji STL.The “unique tag type” workaround is no longer necessary, and we’ve removed this workaround from our STL implementation.

D obsługa kompilatora do reguły Preprocesor C99 została ukończona w programie Visual Studio 2017.D The compiler’s support for C99 Preprocessor rules is incomplete in Visual Studio 2017. Makra Wariadyczne są obsługiwane, ale istnieje wiele błędów w działaniu preprocesora.Variadic macros are supported, but there are many bugs in the preprocessor’s behavior. Firma Microsoft jest przeglądu preprocesora i doświadczalnie udostępni te zmiany w obszarze / permissive- tryb wkrótce.We are overhauling the preprocessor, and will experimentally ship those changes under the /permissive- mode soon.

E to jest oznaczona jako nie ma zastosowania, ponieważ kompilatory są dozwolone, ale nie jest to wymagane, aby obsługiwać rozszerzone typy liczb całkowitych.E This is marked as Not Applicable because compilers are permitted, but not required, to support extended integer types. Podobnie jak GCC i Clang Wybraliśmy nie do ich obsługi.Like GCC and Clang, we’ve chosen not to support them.

F podobnie, jest on oznaczony jako nie ma zastosowania, ponieważ kompilatory są dozwolone, ale nie jest to wymagane, aby zaimplementować tego rodzaju optymalizacji.F Similarly, this is marked as Not Applicable because compilers are permitted, but not required, to implement this optimization.

G objęte /STD: c ++ 14 suppressible ostrzeżenie.G Supported under /std:c++14 with a suppressible warning.

"J" funkcje, które nie zostały ukończone w programie Visual Studio 2015 są rozbite innych miejscach w tej tabeli.J Features that were not completed in Visual Studio 2015 are broken out elsewhere in this table.

K jest całkowicie nową metodę implementacji, niezgodna z poprzednią wersją std::experimental wymuszone przez Link symboliczny dział pomocy technicznej, poprawki błędów i zmiany w zachowaniu wymagane przez standard.K This is a completely new implementation, incompatible with the previous std::experimental version, necessitated by symlink support, bug fixes, and changes in standard-required behavior. Obecnie, w tym <systemu plików > udostępnia std::filesystem nowej i poprzedniej std::experimental::filesystem z uwzględnieniem <eksperymentalne/systemu plików > udostępnia stare eksperymentalne implementację.Currently, including <filesystem> provides the new std::filesystem and the previous std::experimental::filesystem, and including <experimental/filesystem> provides only the old experimental implementation. Eksperymentalne implementację zostanie USUNIĘTY w następnej wersji interfejsu ABI podziału bibliotek.The experimental implementation will be REMOVED in the next ABI-breaking release of the libraries.

L obsługiwane przez wewnętrzne polecenie kompilatora.L Supported by a compiler intrinsic.

14 C ++ 17/20 funkcje te są zawsze włączone, nawet wtedy, gdy /STD: c ++ 14 określono (ustawienie domyślne).14 These C++17/20 features are always enabled, even when /std:c++14 (the default) is specified. Może to być, ponieważ ta funkcja została zaimplementowana przed wprowadzeniem /STD opcje, lub ponieważ warunkowego implementacji niepożądanych złożone.This is either because the feature was implemented before the introduction of the /std options, or because conditional implementation was undesirably complex.

17 te funkcje są włączone przez /STD: c ++ 17 (lub /STD: c ++ najnowsze) opcję kompilatora.17 These features are enabled by the /std:c++17 (or /std:c++latest) compiler option.

bajtów std::byte został włączony przez /STD: c ++ 17 (lub /STD: c ++ najnowsze), ale ponieważ mogą powodować konflikt z nagłówkami zestawu Windows SDK, w niektórych przypadkach, szczegółowych makro zrezygnować.byte std::byte is enabled by /std:c++17 (or /std:c++latest), but because it can conflict with the Windows SDK headers in some cases, it has a fine-grained opt-out macro. Można je wyłączyć, definiując _HAS_STD_BYTE jako 0.It can be disabled by defining _HAS_STD_BYTE as 0.

C11 Universal CRT zaimplementowane części C11 biblioteki standardowej, które są wymagane przez C ++ 17, z wyjątkiem C99 strftime() E/O alternatywnych konwersji specyfikatory C11 fopen() trybie wyłączności i C11 aligned_alloc().C11 The Universal CRT implemented the parts of the C11 Standard Library that are required by C++17, with the exception of C99 strftime() E/O alternative conversion specifiers, C11 fopen() exclusive mode, and C11 aligned_alloc(). Jest prawdopodobnie nie będzie zaimplementowana, ponieważ określona C11 aligned_alloc() w sposób, który jest niezgodny z implementacją firmy Microsoft free(), to znaczy, że free() musi być w stanie obsłużyć bardzo wyrównany alokacji.The latter is unlikely to be implemented, because C11 specified aligned_alloc() in a way that's incompatible with the Microsoft implementation of free(), namely, that free() must be able to handle highly aligned allocations.

rem funkcje usunięte, gdy /STD: c ++ 17 (lub /STD: c ++ najnowsze) określono opcję kompilatora.rem Features removed when the /std:c++17 (or /std:c++latest) compiler option is specified. Te funkcje mają makra zrezygnować: _HAS_AUTO_PTR_ETC, _HAS_FUNCTION_ALLOCATOR_SUPPORT, _HAS_OLD_IOSTREAMS_MEMBERS, i _HAS_UNEXPECTED.These features have opt-out macros: _HAS_AUTO_PTR_ETC, _HAS_FUNCTION_ALLOCATOR_SUPPORT, _HAS_OLD_IOSTREAMS_MEMBERS, and _HAS_UNEXPECTED.

charconv from_chars() i to_chars() są dostępne dla liczb całkowitych.charconv from_chars() and to_chars() are available for integers. Obecnie pracujemy nad from_chars() zmiennoprzecinkowych, przestrzegać to_chars() zmiennoprzecinkowych.We’re currently working on floating-point from_chars(), to be followed by floating-point to_chars().

równoległe biblioteki algorytmów równoległych C ++ 17 firmy zostało zakończone.parallel C++17’s parallel algorithms library is complete. Należy pamiętać, że nie oznacza to, że każdy algorytm jest zrównoleglona w każdym przypadku. Najważniejsze algorytmy została zrównoleglona. i podpisy zasad wykonywania są dostarczane, nawet gdy algorytmy są nie została zrównoleglona.Note that this doesn’t mean every algorithm is parallelized in every case; the most important algorithms have been parallelized and execution policy signatures are provided even where algorithms are not parallelized. Nagłówek centralny wewnętrznego naszej implementacji STL, yvals.h, zawiera następujące "równoległych algorytmów uwagi dotyczące": język C++ pozwala na implementację do zaimplementowania algorytmy równoległe jako wywołania serial algorytmów.Our STL implementation’s central internal header, yvals.h, contains the following “Parallel Algorithms Notes”: C++ allows an implementation to implement parallel algorithms as calls to the serial algorithms. Ta implementacja parallelizes kilka typowych wywołań algorytmu, ale nie wszystkich.This implementation parallelizes several common algorithm calls, but not all.

Następujące algorytmy są zrównoleglona:The following algorithms are parallelized:

  • adjacent_difference, adjacent_find, all_of, any_of, count, count_if —, równe, exclusive_scan, znajdowanie, find_end —, find_first_of —, find_if, for_each, for_each_n, inclusive_scan, niezgodność, none_of, zmniejszyć, Usuń, remove_if —, wyszukiwanie, search_n —, sortowania, stable_ sortowanie, Przekształć transform_exclusive_scan, transform_inclusive_scan, transform_reduce.adjacent_difference, adjacent_find, all_of, any_of, count, count_if, equal, exclusive_scan, find, find_end, find_first_of, find_if, for_each, for_each_n, inclusive_scan, mismatch, none_of, reduce, remove, remove_if, search, search_n, sort, stable_sort, transform, transform_exclusive_scan, transform_inclusive_scan, transform_reduce.

Poniżej są obecnie niezrównoleglone:The following are not presently parallelized:

  • Nie poprawę wydajności jawnego równoległości na urządzeniu docelowym; Wszystkie algorytmy, które jedynie kopiowania lub permute — elementy z gałęzi są zazwyczaj ograniczone przepustowość pamięci:No apparent parallelism performance improvement on target hardware; all algorithms which merely copy or permute elements with no branches are typically memory bandwidth limited:
    • kopiowania, copy_backward, copy_n, wypełnienie, fill_n, przenoszenie, move_backward, Usuń, remove_if —, Zastąp, replace_if —, wstecznego, reverse_copy, obracanie, rotate_copy —, swap_ranges —copy, copy_backward, copy_n, fill, fill_n, move, move_backward, remove, remove_if, replace, replace_if, reverse, reverse_copy, rotate, rotate_copy, swap_ranges
  • Istnieje pomyłek za pośrednictwem wymagań równoległości użytkowników; prawdopodobnie w powyższych kategorii mimo to:Confusion over user parallelism requirements exists; likely in the above category anyway:
    • Generowanie generate_ngenerate, generate_n
  • Skuteczne równoległości podejrzewa się, że było:Effective parallelism suspected to be infeasible:
    • partial_sort —, partial_sort_copy —partial_sort, partial_sort_copy
  • Nie zostały jeszcze ocenione; Równoległość może być implementowana w przyszłej wersji i może być korzystne:Not yet evaluated; parallelism may be implemented in a future release and is suspected to be beneficial:
    • copy_if, obejmuje, inplace_merge —, is_heap, is_heap_until —, is_partitioned, is_sorted, is_sorted_until —, lexicographical_compare —, max_element, scalania, min_element, minmax_element, nth_element —, partition_copy —, remove_copy —, remove_copy_if —, replace_ Kopiuj replace_copy_if —, set_difference —, set_intersection —, set_symmetric_difference —, set_union —, stable_partition —, unikatowe, unique_copy —copy_if, includes, inplace_merge, is_heap, is_heap_until, is_partitioned, is_sorted, is_sorted_until, lexicographical_compare, max_element, merge, min_element, minmax_element, nth_element, partition_copy, remove_copy, remove_copy_if, replace_copy, replace_copy_if, set_difference, set_intersection, set_symmetric_difference, set_union, stable_partition, unique, unique_copy

Zobacz takżeSee also

Dokumentacja języka C++C++ Language Reference
Standardowa biblioteka C++C++ Standard Library
Ulepszenia zgodności języka C++ w programie Visual Studio 2017C++ conformance improvements in Visual Studio 2017
Co nowego w języku Visual C++ w programie Visual Studio 2017What's New for Visual C++ in Visual Studio 2017
Historia zmian w usłudze Visual C++ 2003 do 2015Visual C++ change history 2003 through 2015
Visual C++ — co nowego od roku 2003 do 2015Visual C++ What's New 2003 through 2015
Blogu zespołu Visual C++Visual C++ team blog