Microsoft C++ docs: What's new for August 2023 to November 2023
This article lists major changes to the Microsoft C++ docs for May 2023 through early November 2023.
- 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
- CComDynamicUnkArray Class - Updated remarks.
C/C++ projects and build systems
New articles
/ifcMap
/Zc:checkGwOdr
(Enforce Standard C++ ODR violations under/Gw
)- /KERNEL (Create kernel mode binary)
Updated articles
- Configure CMake debugging sessions - Updated screenshots.
/permissive-
(Standards conformance) - Reflect new behavior as of 17.6./Zc:externConstexpr
(Enable extern constexpr variables) - Reflect new behavior as of 17.6.- Overview of ARM64EC ABI conventions - Updated register mapping for integer registers table.
/DEBUG
(Generate debug info) - Fix documentation for/DEBUG:FASTLINK
and/DEBUG
.
Code quality
New articles
Updated articles
- How to specify additional code information by using
_Analysis_assume_
- Updated remarks.
Clarified behavior for the following warnings:
C++ in Visual Studio
New articles
Updated articles
alignas
(C++) - Several updates to the remarks.- if-else statement (C++) - Improved code examples.
- __fastcall - Added info about classes, structs, and unions.
decltype
(C++) - Fixed code example.- noreturn - Improved example.
C runtime library
Updated articles
fegetround
,fesetround
- Noted change of the values forFE_UPWARD
andFE_DOWNWARD
.
C/C++ compiler and tools errors and warnings
Updated articles
Clarified behavior for the following warnings:
- Compiler Error C2018, Compiler Error C2023
- Compiler Error C2024, Compiler Error C2049
- Compiler Error C2058, Compiler Error C2061
- Compiler Error C2082, Compiler Error C2129
- Compiler Error C2345, Compiler Error C2397
- Compiler Error C2510, Compiler Error C2534
- Compiler Error C2993, Compiler Error C3550
- Compiler Error C3551
Read and write code using C++ in Visual Studio
New articles
- Clean up C/C++ includes in Visual Studio
- Configure C/C++ Include Cleanup in Visual Studio
- Include Cleanup messages
lnt-make-member-function-const
lnt-naming-convention
C/C++ in Visual Studio overview
Updated articles
- C++ Conformance improvements, behavior changes, and bug fixes in Visual Studio 2022 - Added conformance updates for 17.7 and 17.8.
- What's new for C++ in Visual Studio 2022 - Updated what's new in C++.
C++ Standard Template Library (STL) reference
Updated articles
- auto_ptr class - Added deprecation info
Active Template Library (ATL), Microsoft Foundation Classes (MFC)
Updated articles
- Connection maps - Corrected parameter description of
pRefCount
inAfxConnection(Un)Advise
. CSimpleStringT
Class - Updated code example.- MFC class hierarchy chart - Updated MFC hierarchy chart.
Community contributors
The following people contributed to the C++, C, and Assembler docs during this period. Thank you! See our contributor guide if you'd like to learn how to contribute.
- Rageking8
- 0xbadfca11
- edmund-leibert - Edmund Leibert III
- glenn-slayden - Glenn Slayden
- lb90
- tsuyo - Tsuyoshi Miyake
What's new history
This section lists major changes to the Microsoft C++ docs for May 2023 to August 2023.
For what's new related to C++ in Visual Studio, see What's new for C++ in Visual Studio.
Active Template Library (ATL), Microsoft Foundation Classes (MFC)
Updated articles
- Connection maps - Corrected parameter description of
pRefCount
inAfxConnection(Un)Advise
. CSimpleStringT
Class - Updated code example.- MFC class hierarchy chart - Updated MFC hierarchy chart.
C language
New articles
Updated articles
register
storage-class specifier - Added C5033 warning.- C Pragmas - Added
system_header
pragma documentation. - C Bit Fields - Clarified example & documented that MSVC doesn't straddle bit-fields.
C runtime library
Updated articles
_iob
- Clarified value of_IOB_ENTRIES
across VS versions._snprintf_s
,_snprintf_s_l
,_snwprintf_s
,_snwprintf_s_l
- Summarized behavior for argument value combinations.snprintf
,_snprintf
,_snprintf_l
,_snwprintf
,_snwprintf_l
- Summarized behavior for argument value combinations.vsnprintf_s
,_vsnprintf_s
,_vsnprintf_s_l
,_vsnwprintf_s
,_vsnwprintf_s_l
- Summarized behavior for argument value combinations.vsnprintf
,_vsnprintf
,_vsnprintf_l
,_vsnwprintf
,_vsnwprintf_l
- Summarized behavior for argument value combinations.to
functions - Fixed code example.strerror_s
,_strerror_s
,_wcserror_s
,__wcserror_s
- Clarified behavior.strerror
,_strerror
,_wcserror
,__wcserror
- Clarified behavior._stat
,_stat32
,_stat64
,_stati64
,_stat32i64
,_stat64i32
,_wstat
,_wstat32
,_wstat64
,_wstati64
,_wstat32i64
,_wstat64i32
- Called out changes to_stat
family of functions across versions of Visual Studio.
C/C++ compiler intrinsics and assembly language
Updated articles
__umulh
- Updated the code example.
C/C++ in Visual Studio overview
Updated articles
- C++ Conformance improvements, behavior changes, and bug fixes in Visual Studio 2022 - Added 17.6 conformance info.
C/C++ projects and build systems
New articles
Updated articles
- Advanced Property Page - Updates regarding managed projects that target .NET Framework versus .NET.
/openmp
(Enable OpenMP Support) - Added supported versions.- Create a C++ console app project - Updated for current version of Visual Studio.
- Build and run a C++ console app project - Updated steps to accommodate Visual Studio version differences regarding the location of the debug folder.
/ZW
(Windows Runtime Compilation) - Added a note about an incompatibility.- Configure and build with CMake Presets in Visual Studio - Updated supported CMake and
CMakePresets.json
versions. /Zc:lambda
(Enable updated lambda processor) - Added note that/permissive-
implies/Zc:lambda
.- C/C++ Property Pages - Added description for C language and building ISO standard library modules properties.
- Overview of ARM64 ABI conventions - Clarified terminology regarding register volatility.
C++ in Visual Studio
New articles
- Visual Studio Tools for Unreal Engine overview
- Install Visual Studio Tools for Unreal Engine
- Quickstart: Visual Studio Tools for Unreal Engine
Updated articles
- Overview of modules in C++ - Add description for building ISO standard library modules.
- Compiler Limits - Updated Parameters in macro definition limits.
- How to: Create and Use shared_ptr instances - Added a code example.
- Tutorial: Import the C++ standard library using modules from the command line - Added a description for building ISO standard library modules.
- type_info Class - Marked
raw_name
Microsoft-specific.
C++ porting and upgrade guide
Updated articles
- Microsoft C/C++ change history 2003 - 2015- Noted changes to
_stat
family of functions behavior.
C++ Standard Template Library (STL) reference
Updated articles
basic_string
Class - Marked_Copy_s
Microsoft-specific.
Code quality
New articles
Updated articles
- Use the C++ Core Guidelines checkers - No longer suggest turning off annotation processing for CppCoreChecks.
Clarified behavior for the following warnings:
- Warning C6011, Warning C6200
- Warning C26437, Warning C26439
- Warning C26441, Warning C26444
- Warning C26449, Warning C26450
- Warning C26451, Warning C26452
- Warning C26453, Warning C26454
- Warning C26455, Warning C26494
- Warning C26495, Warning C26498
- Warning C26800, Warning C26810
- Warning C26811, Warning C26813
- Warning C26815, Warning C26816
- Warning C26819, Warning C26827
- Warning C26828, Warning C28196
- Warning C28306, Warning C28307
- Warning C33010
Cross platform development
Updated articles
- Build an OpenGL ES application on Android and iOS - Updated documentation to reflect removal of OpenGL.
Overview of Windows programming in C++
Updated articles
- Microsoft Visual C++ Redistributable latest supported downloads - Noted that VS 2012 reached end of extended support and clarified that the Visual C++ Redistributable for Visual Studio 2015-2022 doesn't have separate packages for different languages.
Community contributors
The following people contributed to the C++, C, and Assembler docs during this period. Thank you! See our contributor guide if you'd like to learn how to contribute.
- moonlit-melody - melody
- AlexGuteniev - Alex Guteniev
- MAP233224 - MAP
- Alice2O3 -
- bearerer -
- bryangalindo - Bryan Galindo
- enricosebastian - Enrico Sebastian
- fsb4000 - Igor Zhukov
- Passw -
- stephen9357 -
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for