C++ 23 Features Supported by Intel® C++ Compiler

ID 764072
Updated 3/17/2023
Version Latest



C++ 23 Features

Following is the status and version of compiler support for C++ 2b Features.

Language Feature Standard # ICX  2022.2 (oneAPI 2022.3) ICX  2023.1 (oneAPI 2023.1)
Literal suffix uz, z for size_t, ssize_t P0330R8 Yes Yes
Make () in lambdas optional in all cases P1102R2 Yes Yes
Simpler implicit move P2266R1 Yes Yes
if consteval P2156R1 Yes Yes
Allow duplicate attributes P1401R5 Yes Yes
Narrowing contextual conversions to bool P2223R2 Yes Yes
Trimming whitespaces before line splicing P2223R2 Yes Yes
Make declaration order layout mandated P1874R4 Yes Yes
C++ identifier syntax using UAX 31 P1949R7 Yes Yes
Mixed string literal concatenation P2201R1 Yes Yes
Deducing this P0847R7 No No
Change scope of lambda trailing-return-type P2036R3 No No
Multidimensional subscript operator P2128R6 Yes Yes
Non-literal variables (and labels and gotos) in constexpr functions P2242R3 Yes Yes
Character encoding of diagnostic text P2246R1 Yes Yes
Character sets and encodings P2314R4 Yes Yes
Consistent character literal encoding P2316R2 Yes Yes
Add support for preprocessing directives elifdef and elifndef P2334R1 Yes Yes
Extend init-statement to allow alias-declaration P2360R0 Yes Yes
auto(x): decay-copy in the language P0849R8 Yes Yes
Attributes on Lambda-Expressions P2173R1 Yes Yes
constexpr for <cmath> and <cstdlib> P0533R9 No No
Type trait to determine if a reference binds to a temporary P2255R2 Partial Partial
The Equality Operator You Are Looking For P2468R2 No  Yes
De-deprecating volatile compound operations P2468R2 No Yes
Support for #warning P2437R1 No Yes
Remove non-encodable wide character literals and multicharacter wide character literals P2362R3 No Yes
Labels at the end of compound statements P2324R2 No Yes
Delimited escape sequences P2290R3 No Yes
Named universal character escapes P2071R2 No Yes
Relaxing some constexpr restrictions P2448R2 No No
Using unknown pointers and references in constant expressions P2280R4 No No
static operator() P1169R4 No Yes
Extended floating-point types and standard names P1467R9 No No
Class template argument deduction from inherited constructors P2582R1 No No
Portable assumptions P1774R8 No No
Support for UTF-8 as a portable source file encoding P2295R6 No Yes
char8_t Compatibility and Portability Fix P2513R3 No Yes
Relax requirements on wchar_t to match existing practices P2460R2 No Yes
Explicit lifetime management P2590R2 No No
static operator[] P2589R1 No  Yes
Permitting static constexpr variables in constexpr functions (DR) P2647R1 No No
consteval needs to propagate up (DR) P2564R3 No No
Referencing The Unicode Standard P2736R2 Yes Yes

Other relevant articles:

  1. Intel Compiler C++11 support status
  2. Intel Compiler C++14 support status
  3. Intel Compiler C++17 support status
  4. Intel Compiler C++20 support status