Microsoft C++ docs: What's new for October 2021
This article lists major changes to the Microsoft C++ docs July 2021 through October 2021.
- For what was new in the docs in previous months, see What's new history.
- For what's new related to C++ in Visual Studio, see What's new for C++ in Visual Studio.
- For the latest C and C++ conformance with ISO standards status, see C++ conformance improvements in Visual Studio.
Active Template Library (ATL), Microsoft Foundation Classes (MFC)
Updated articles
CSimpleStringTClass - updated code examples and added code example output- MFC class hierarchy chart - Update MFC hierarchy chart
C language
New articles
Updated articles
registerstorage-class specifier - Add C5033 warning- C Pragmas - Add system_header pragma documentation
- C Bit Fields - Clarify int main(void) example & document MSVC doesn't straddle bit-fields
C runtime library
Updated articles
- CRT Initialization - Add 16.11 Compiler warnings C5247 and C5248
rand- Update code examplewcstombs_s,_wcstombs_s_l- Update code example- _get_errno - Update code example
C/C++ compiler and tools errors and warnings
New articles
- Command-line error D8049
- Compiler Warning C5243
- Compiler Warning C5247
- Compiler Warning C5248
- Compiler Warning (level 1) C5033
Updated articles
- Command-line errors and warnings - new error messages
- Compiler Warning (level 4) C4710 - Add C5033 warning
- Compiler Warnings C4800 through C5999 - Add compiler warning C5033, C5243, C5249, C5250, C5247, and C5248.
- Compiler Error C2666 - Update 16.1 conformance
- Compiler Warning (level 4) C4702 - Update warning C4702
- Compiler Error C2440 - Add
/Zc:char8_tcompiler option - Compiler Error C2760 - New
/Zc:lambdainfo - Compiler Error C2259 - Update code example
C/C++ compiler intrinsics and assembly language
New articles
Updated articles
- MASM for x64 (ml64.exe) - Document MASM instruction format including prefixes and option avxencoding
- Microsoft Macro Assembler reference - Document MASM instruction format including prefixes and option avxencoding
OPTION- Document MASM instruction format including prefixes and option avxencoding- _InterlockedCompareExchange intrinsic functions - Adding missing interlocked intrinsic and fixing another interlock intrinsic return type
C/C++ in Visual Studio overview
New articles
- C++ Conformance improvements, behavior changes, and bug fixes in Visual Studio 2019
- What's new for C++ in Visual Studio 2019
Updated articles
- Overview of C++ development in Visual Studio - Visual Studio 2022 related updates.
- Install C11 and C17 support in Visual Studio - Visual Studio 2022 related updates, C17 updates
- C++ Tools and Features in Visual Studio Editions - Visual Studio 2022 related updates, C17 updates
- C++ Conformance improvements, behavior changes, and bug fixes in Visual Studio 2022 - Visual Studio 2022 and 16.1 conformance updates
- Microsoft C/C++ language conformance by Visual Studio version - Visual Studio 2022 related updates
- C and C++ in Visual Studio - Add missing redist content
C/C++ preprocessor reference
New articles
Updated articles
fenv_accesspragma - Add floating-point contractions infofloat_controlpragma - Add floating-point contractions infofp_contractpragma - Add floating-point contractions info- Predefined macros - Add
__SANITIZE_ADDRESS__and_M_FP_CONTRACT - Compiler warnings that are off by default - Add compiler warning C5243, C5249, C5250, C5247, and C5248
C/C++ projects and build systems
New articles
/Zc:char8_t(Enable C++20 char8_t type)/Zc:lambda(Enable updated lambda processor)/fsanitize-coverage(Configure sanitizer coverage)abspathNMAKE functionbasenameNMAKE functionfilter,filteriNMAKE functionsfilterout,filteroutiNMAKE functionsfindstring,findstringiNMAKE functionspatsubst,patsubstiNMAKE functionsstripNMAKE functionsubst,substiNMAKE functions- Walkthrough: Build and debug C++ with WSL 2 and Visual Studio 2022
Updated articles
- Configure and build with CMake Presets in Visual Studio - Fix inconsistencies and add documentation about the "unspecified" architecture feature
- Clang/LLVM support in Visual Studio CMake projects - Clarified version-specific installation
- CMake projects in Visual Studio - Fix inconsistencies in CMake docs and add docs on using existing cache without cmake-server
- /fp (Specify floating-point behavior) - Fix
/fpsample code /Og(Global Optimizations) - Clarify when theregisterkeyword is ignored/PROFILE(Performance Tools Profiler) - Address/profileissues- Use the Microsoft C++ toolset from the command line - Fix MSBuild recommendation & update C/C++ workload name
- Use an NMAKE macro - Add documentation for the new NMAKE functions
- Commands in a makefile - Combine and update NMAKE docs
- NMAKE makefile contents and features - Combine and update NMAKE docs
- Create a C++ makefile project - Combine and update NMAKE docs
- Define an NMAKE macro - Combine and update NMAKE docs
- Dot directives - Combine and update NMAKE docs
- Inference rules - Combine and update NMAKE docs
- Inline files in a makefile - Combine and update NMAKE docs
- Makefile Preprocessing - Combine and update NMAKE docs
- NMAKE Reference - Combine and update NMAKE docs
- Running NMAKE - Combine and update NMAKE docs
- Sample Makefile - Combine and update NMAKE docs
- Special NMAKE macros - Combine and update NMAKE docs
- Configuring Programs for Windows XP - Link updates for new redist article
/Zc(Conformance) - New/Zc:lambdainformation/Zc:__cplusplus(Enable updated__cplusplusmacro) - New/Zc:lambdainformation- CMake predefined build configurations - Fix inconsistencies in CMake docs
CMakePresets.jsonandCMakeUserPresets.jsonMicrosoft vendor maps - Fix inconsistencies in CMake docs- Tutorial: Debug a CMake project on a remote Windows machine - Fix inconsistencies in CMake docs
CMakeSettings.jsonschema reference - Fix inconsistencies in CMake docslaunch.vs.jsonschema reference (C++) - add debugInfo macro definitions/external(External headers diagnostics) - Addsystem_headerpragma doc- DUMPBIN Reference - Setting
PATHallowsDUMPBINto be executed from the command prompt - /Qspectre - Clarified
/QspectreRequired Libraries section
C++ in Visual Studio
Updated articles
- Storage classes - Add C5033 warning
- void (C++) - Clarify overall article
- Labeled statements - Correct labeled statements
- Brace initialization - Address sanitizer comment location
- Member Access Control (C++) - Update static member access in example
- String and character literals (C++) - Updates for C++20 portable
char8_t. - Declarations and definitions (C++) - fix code sample
- Template Specialization (C++) - update code example
C++ in Visual Studio tutorials
Updated articles
- Create a console calculator in C++ - add Git source control info to the tutorial
C++ porting and upgrade guide
Updated articles
- C++ binary compatibility between Visual Studio versions - Update version info
C++ Standard Library (STL)
New articles
ambiguous_local_timeclasschooseenumclock_time_conversionstructfile_clockclassgps_clockclassis_clockstructurelast_specstructlocal_infostructlocal_tstructnonexistent_local_timeclasssys_infostructtai_clockclasstime_zone_linkclasstzdb_listclasstzdbstructutc_clockclasszoned_timeclasszoned_traitsstruct
Updated articles
<chrono>functions - added new<chrono>functions<chrono>- added new<chrono>typesdurationclass - overall article update and linking to related non-member functions- Using Insertion Operators and Controlling Format - fix
setwcode example <chrono>operators - Added new C++20 chrono operatorslocal_infostruct - updated descriptions for errorstime_zoneclass - article clarificationsanyclass - Added requirements section<any>functions - Added requirements sectionbad_any_castclass - Added requirements section- domain_error Class - Improve
<stdexcept>documentation and examples - invalid_argument Class - Improve
<stdexcept>documentation and examples - length_error Class - Improve
<stdexcept>documentation and examples - logic_error Class - Improve
<stdexcept>documentation and examples - out_of_range Class - Improve
<stdexcept>documentation and examples - overflow_error Class - Improve
<stdexcept>documentation and examples - range_error Class - Improve
<stdexcept>documentation and examples - runtime_error Class - Improve
<stdexcept>documentation and examples - underflow_error Class - Improve
<stdexcept>documentation and examples filesystem-<filesystem>no longer includes<experimental/filesystem>- Output File Stream Member Functions - fixed code example
<bit>functions - Fixed code example<execution>- Mention limits of concurrency<future>functions - Mention limits of concurrencythreadClass - Mention limits of concurrency
Overview of Windows programming in C++
New articles
Updated articles
- Walkthrough: Create a traditional Windows Desktop application (C++) - updated examples
Read and write code using C++ in Visual Studio
New articles
- IntelliSense code linter for C++ overview
lnt-assignment-equalitylnt-integer-float-divisionlnt-accidental-copylnt-arithmetic-overflowlnt-logical-bitwise-mismatchlnt-uninitialized-local
Updated articles
lnt-integer-float-division- Add Visual Studio 2022 specific config information
STL/CLR library reference
Updated articles
- .NET programming with C++/CLI - updated instructions for Visual Studio version UI differences
Community contributors
The following people contributed to the C++, C, and Assembler docs during this period. Thank you! See Microsoft Docs contributor guide overview if you'd like to learn how to contribute.
- mohammad-ghasemi-dev (5)
- Jaiganeshkumaran - Jaiganesh Kumaran (2)
- workingjubilee - Jubilee (2)
- adr26 (1)
- AlexGuteniev - Alex Guteniev (1)
- AzAgarampur - Arush Agarampur (1)
- d-c-d - David Dyck (1)
- onihusube (1)
- rayz-bee - rayz-bee (1)
- redteamrover (1)
- RibShark (1)
- sauparna - Sauparna Palchowdhury (1)
- sudoerChris - Chris Ho (1)
- thispsj - PSJ (1)
- Veverke - Avraham (1)
- weijiechai - Chai Wei Jie (1)
- wmcnamara - Weston McNamara (1)
- ystamant (1)
What's new history
The following section provides the previous update of what's new in the Visual Studio docs.
June 2021
Build insights
New articles
- HeaderUnit class
- Module class
- PrecompiledHeader class
- TRANSLATION_UNIT_TYPE enum
- TRANSLATION_UNIT_TYPE_DATA enum
- TranslationUnitType class
Updated articles
- C++ Build Insights SDK: event table - add new C++ Build Insights events
- Get started with C++ Build Insights - add new C++ Build Insights events
C language
Updated articles
_Static_assertkeyword andstatic_assertmacro (C11) - update the SDK to use- Alignment (C11) - update the SDK to use
- Generic selection (C11) - update the SDK to use
C runtime library
Updated articles
Many articles were updated to prevent the machine translation of code elements.
_cprintf_p, _cprintf_p_l, _cwprintf_p, _cwprintf_p_l-printf()rounding behavior change_cprintf_s, _cprintf_s_l, _cwprintf_s, _cwprintf_s_l-printf()rounding behavior change_cprintf, _cprintf_l, _cwprintf, _cwprintf_l-printf()rounding behavior change_fprintf_p, _fprintf_p_l, _fwprintf_p, _fwprintf_p_l-printf()rounding behavior change_get_printf_count_output-printf()rounding behavior change_printf_p, _printf_p_l, _wprintf_p, _wprintf_p_l-printf()rounding behavior change_scprintf_p, _scprintf_p_l, _scwprintf_p, _scwprintf_p_l-printf()rounding behavior change_scprintf, _scprintf_l, _scwprintf, _scwprintf_l-printf()rounding behavior change_vcprintf_p, _vcprintf_p_l, _vcwprintf_p, _vcwprintf_p_l-printf()rounding behavior change_vcprintf_s, _vcprintf_s_l, _vcwprintf_s, _vcwprintf_s_l-printf()rounding behavior change_vscprintf, _vscprintf_l, _vscwprintf, _vscwprintf_l-printf()rounding behavior change_vsprintf_p, _vsprintf_p_l, _vswprintf_p, _vswprintf_p_l-printf()rounding behavior change_snprintf_s,_snprintf_s_l,_snwprintf_s,_snwprintf_s_l-printf()rounding behavior changeerrnoconstants - improve readabilityfprintf,_fprintf_l,fwprintf,_fwprintf_l-printf()rounding behavior changefreopen_s,_wfreopen_s- new C11 flagsfreopen,_wfreopen- added C11 flagspow,powf,powl- note change topow(T,int)starting in VS 2015 update 1printf_s,_printf_s_l,wprintf_s,_wprintf_s_l-printf()rounding behavior changesetlocale,_wsetlocale- clarified UTF-8 string modesprintf,_sprintf_l,swprintf,_swprintf_l,__swprintf_l-printf()rounding behavior changecprintf-printf()rounding behavior changefprintf_s, _fprintf_s_l, fwprintf_s, _fwprintf_s_l-printf()rounding behavior changesprintf_s, _sprintf_s_l, swprintf_s, _swprintf_s_l-printf()rounding behavior changestrcpy_s, wcscpy_s, _mbscpy_s, _mbscpy_s_l- fixed code examplesstrncat_s, _strncat_s_l, wcsncat_s, _wcsncat_s_l, _mbsncat_s, _mbsncat_s_l-printf()rounding behavior change- Type-generic math - updated the SDK version to use
vprintf, _vprintf_l, vwprintf, _vwprintf_l-printf()rounding behavior changevsprintf_s, _vsprintf_s_l, vswprintf_s, _vswprintf_s_l-printf()rounding behavior change
C++ in Visual Studio
Updated articles
_variant_t::operator=- add remarks foroperator=and make the article easier to read.- Abstract classes (C++) - add Microsoft-specific extension information for inline pure virtual destructor
- Attributes in C++ - add missing errors and warnings: C7000-C7999, C4834
- char, wchar_t, char8_t, char16_t, char32_t - clarified whether char is signed or unsigned
C++ porting and upgrade guide
Updated articles
- Introduction to Microsoft C++ for UNIX Users - Visual Studio 16.10 updates to C17 conformance
- Visual C++ What's New 2003 through 2015 - note change to
pow(T,int)starting in VS 2015 update 1
C/C++ compiler and tools errors and warnings
New articles
- Command-line error D8048
- Compiler Error C7510
- Compiler Error C7536
- Compiler errors C7000 through C7499
- Compiler errors C7500 through C7999
- Compiler Warning (error) C4597
- Compiler warning (level 1) C4834
- Compiler Warning (level 1) C5050
- Compiler warning (level 3) C4698
- Compiler Warning (level 3) C4768
- Compiler Warning (level 4) C4841
- Compiler Warning (level 4) C4843
- Compiler warning C5037
- Fatal Error C1090
Updated articles
- Compiler Error C2139 - added some version 2017 diagnostics
- Compiler Error C2201 - added some version 2017 diagnostics
- Compiler Error C2276 - update C2276
- Compiler Error C2668 - added some version 2017 diagnostics
- Compiler Error C2855 - add remarks about how to resolve this error
- Compiler errors C2000 - C3999, C7000 - C7999 - add missing errors and warnings: C7000-C7999, C4834
- Compiler errors C7500 through C7999 - added some version 2017 diagnostics; add error C7510; add missing errors and warnings: C7000-C7999, C4834
- Compiler Warning (level 1) C4179 - added some version 2017 diagnostics
- Compiler Warning (level 1) C5208 and Error C7626 - add missing errors and warnings: C7000-C7999, C4834
- Compiler Warning (level 4) C4189 - added some version 2017 diagnostics
- Compiler Warning C5038 - added some version 2017 diagnostics
- Compiler warnings by compiler version - update Visual Studio 16.10 conformance improvements and new warnings; Add new 16.10 warnings, version info; update version strings for Visual Studio 16.8, 16.9, and 16.10
- Compiler warnings C4400 Through C4599 - added some Visual Studio version 2017 diagnostics
- Compiler warnings C4800 through C5999 - update Visual Studio 16.10 conformance improvements and new warnings; add new 16.10 warnings, version info; added some version 2017 diagnostics; add missing errors and warnings: C7000 - C7999, C4834
- Vectorizer and parallelizer messages - add vectorizer failure reason 505; add 1204 reason code
C/C++ compiler intrinsics and assembly language
Updated articles
- Microsoft Macro Assembler BNF Grammar - cleanup formatting and machine translation issues
C/C++ in Visual Studio overview
New articles
- C++ Conformance improvements, behavior changes, and bug fixes in Visual Studio 2017
- Microsoft C++ docs: What's new for Visual Studio 16.8
- What's new for C++ in Visual Studio 2017
Updated articles
- C++ Conformance improvements, behavior changes, and bug fixes in Visual Studio 2017 - added version 2017 diagnostics
- C++ Conformance improvements, behavior changes, and bug fixes in Visual Studio 2019 - Visual Studio 16.10 updates to C17 conformance; update 16.10 conformance improvements and new warnings; add error C7510; add missing errors and warnings: C7000 - C7999, C4834; update conformance docs for 16.9
- C++ in Visual Studio - Visual Studio 16.10 updates to C17 conformance
- Install C11 and C17 support in Visual Studio - Visual Studio 16.10 updates to C17 conformance
- Microsoft C/C++ language conformance by Visual Studio version - Visual Studio 16.10 updates to C17 conformance; update conformance table for Visual Studio 16.10 and Visual Studio 16.9
- Microsoft C++ docs: What's new for Visual Studio 16.8 - Visual Studio 16.10 updates to C17 conformance
- What's new for C++ in Visual Studio 2017 - Visual Studio 16.10 updates to C17 conformance; update Visual Studio 16.9 release conformance docs
C/C++ preprocessor reference
Updated articles
- Compiler warnings that are off by default - update Visual Studio 16.10 conformance improvements and new warnings; added some version 2017 diagnostics
- Predefined macros - add new Visual Studio 16.10 warnings, version info; update version strings for Visual Studio 16.8, 16.9, and 16.10
C/C++ projects and build systems
New articles
/external(External headers diagnostics)/headerName(Build a header unit from the specified header)/sourceDependencies:directives(List module and header unit dependencies)CMakePresets.jsonandCMakeUserPresets.jsonMicrosoft vendor maps- Configure and build with CMake Presets in Visual Studio
- HeaderUnit class
- Module class
- PrecompiledHeader class
- TRANSLATION_UNIT_TYPE enum
- TRANSLATION_UNIT_TYPE_DATA enum
- TranslationUnitType class
- Walkthrough: Build and import header units in Microsoft Visual C++
- Walkthrough: Import STL libraries as header units
Updated articles
- /experimental:module (Enable module support) - new content for header-units
- /Qspectre - update for VS 2019
- /Y (precompiled headers) - new content for header-units
/analyze(Code analysis) - update with up-to-date options list, add more information, and restructure for better organization of related options/await(Enable coroutine support) - add/await:strictfor Visual Studio 16.10/clr(Common Language Runtime Compilation) - include version for support of/clr:netcoreoption/exportHeader(Create header units) - add new content related to header-units/external(External headers diagnostics) -/externalnot experimental in Visual Studio 16.10/F(Set Stack Size) - update for VS 2019/FC(Full path of source code file in diagnostics) - Classify behavior by version./GL(Whole program optimization) - fix loc issue in /GL docs/headerUnit(Use header unit IFC) - new content for header-units/INTEGRITYCHECK(Require signature check) - updated signing guidance forintegritycheckbinaries/openmp(Enable OpenMP Support) - add /openmp:llvm compiler switch docs/reference(Use named module IFC) - new content for header-units/sourceDependencies(List all source-level dependencies) - new content for header-units/std(Specify Language Standard Version) - Visual Studio 16.10 updates to C17 conformance/translateInclude(Translate include directives into import directives) - new content for header-units- Advanced Property Page - add Windows Desktop Compatible property for Visual Studio 16.10; Add LLVM toolset version option for Visual Studio 16.9
- ARM Exception Handling - fix
ComputeXdataSizesamples for ARM/ARM64 - ARM64 exception handling - fix
ComputeXdataSizesamples for ARM/ARM64 - C++ Build Insights SDK: event table - add New C++ Build Insights Events to documentation
- Clang/LLVM support in Visual Studio projects - add LLVM toolset version option for Visual Studio 16.9; update clang-support-msbuild.md
- CMake projects in Visual Studio - add advanced details about using CMake file-api
- Compiler options listed alphabetically - new content for header-units
- Compiler options listed by category - new content for header-units
- Configure and build with CMake Presets in Visual Studio - improve readability
- General Property Page (Project) - add Windows Desktop Compatible property for Visual Studio 16.10
- Get started with C++ Build Insights - add New C++ Build Insights Events to documentation
- How to: Modify the Target Framework and Platform Toolset - improve readability
- Open Folder support for C++ build systems in Visual Studio - fix CppProperties.json MinGW-w64 contents
- Unicode support in the compiler and linker - add info about how to save using a different encoding
- Use the Microsoft C++ toolset from the command line - updated for VS 2019
- Walkthrough: Compile a C program on the command line - Visual Studio 16.10 updates to C17 conformance
- Walkthrough: Compiling a Native C++ Program on the Command Line - clarified notepad behavior when opening source file
C++ Standard Library (STL) reference
New articles
<ranges>dayclassmonth_day_lastclassmonth_dayclassmonth_weekday_lastclassmonth_weekdayclassyear_monthclass
Updated articles
bitsetclass - improve readabilityvectorclass - fix typo in code sample
Code quality
New articles
Updated articles
- C6031 - add note about ignoring a function's return value
- C26432 DEFINE_OR_DELETE_SPECIAL_OPS - update code examples
- C26497 USE_CONSTEXPR_FOR_FUNCTION - add note about when warning won't be issued
Linux with C++ in Visual Studio
Updated articles
- Connect to your target Linux system in Visual Studio - add section about host key verification
- ConnectionManager reference - add note about host key fingerprint flags added in Visual Studio 16.10.
Overview of Windows programming in C++
Updated articles
- Determining Which DLLs to Redistribute - updated for Visual Studio 2019
Parallel programming in C++ in Visual Studio
Updated articles
- C++ AMP Overview - add note about C++ AMP library deprecation
- Walkthrough: Debugging a C++ AMP application - fixed code sample
Community contributors
The following people contributed to the C++, C, and Assembler docs during this period. Thank you! See Microsoft Docs contributor guide overview if you'd like to learn how to contribute.
- 0xbadfca11 (1)
- bclehmann - Benjamin Lehmann (1)
- Brian-Taylor8 (1)
- cartwrightluke (2)
- ccawley2011 - Cameron Cawley (1)
- EddieBreeveld - Edward Breeveld (1)
- FrankAtHexagon - Frank Edwards (1)
- fsb4000 - Igor Zhukov (1)
- Jaiganeshkumaran - Jaiganesh Kumaran (2)
- jayvient - Jayvien (1)
- KishkinJ10 (1)
- kokosxD - kokos (1)
- langemol - Jacco Mol (1)
- MUzairS15 (1)
- nadavsu - Nadav (1)
- NegiAkash890 - Akash Negi (1)
- pjessesco - Jino Park (1)
- pramodkirchki (1)
- Radfordhound - Graham Scott (1)
- sapant-msft (1)
- sebgod - Sebastian Godelet (1)
- seedkar1 (1)
- ShamanCoder (1)
- sheila-stewart (1)
- softmac (1)
- Thieum - Matthieu Penant (2)
- tjs137 (1)
- urmyfaith - zx (1)
- ValZapod - Valerii Zapodovnikov (1)
- westinn - Nicolas Westin (1)
Povratne informacije
Pošalјite i prikažite povratne informacije za