C++23 és el nom informal de la propera versió de l'estàndard ISO / IEC 14882 per al llenguatge de programació C++ que seguirà C++20. L'esborrany final d'aquesta versió és N4950.

El febrer de 2020, a la reunió final de C++20 a Praga, es va adoptar un pla general per a C++23: les característiques previstes per a C++23 són suport de biblioteques per a coroutines, una biblioteca estàndard modular, executors i treball en xarxa.

La primera reunió del WG21 centrada en C++23 estava pensada per tenir lloc a Varna a principis de juny de 2020, però es va cancel·lar a causa de la pandèmia de COVID-19, igual que la reunió de novembre de 2020 a Nova York i la reunió de febrer de 2021 a Kona, Hawaii. Totes les reunions fins al novembre de 2022 van ser virtuals, mentre que la reunió de novembre de 2022 va ser híbrida.

Noves característiques En absència de reunions presencials del WG21 durant la pandèmia de COVID, es van afegir poques funcions noves a l'esborrany de C++23 a les primeres reunions d'estàndards. Els següents es van afegir després de la reunió virtual del GT21 del 9 de novembre de 2020, on van ser aprovats per enquestes de palla:

Sufixos literals per std:: size_t i el tipus signat corresponent Una funció membre containsper std :: basic_stringi std :: basic_string_view, per comprovar si la cadena conté o no una subcadena o caràcter determinats Una biblioteca de stacktrace (< stacktrace >), basat en Boost. Stacktrace Un tret de tipus std :: is_scoped_enum La capçalera < stdatomic. h >, per a la interoperabilitat amb C atòmics

Després de la reunió virtual del GT21 del 22 de febrer de 2021, s'afegeixen les funcions següents on van ser aprovades per enquestes de palla:

Eliminació de la llista de paràmetres buida innecessària ()a partir d'expressions lambda. S'estan reparant els adaptadors d'interval d'entrada i counted_iterator. Relaxeu els requisits de time_point :: clock. std :: visit per a les classes que es deriven de std :: variant. Panys amb pany. Intervals prestats condicionalment. std :: to_underlying.

Després de la reunió virtual plenaria dels estàndards ISO C++ de l'estiu de 2021 del juny de 2021, les enquestes de palla van aprovar noves característiques i informes de defectes:

Consteval si (if consteval). Reducció de conversions contextuals a bool. Permet atributs duplicats. std :: span -based string-stream (< spanstream >). std :: out_ptr () i std :: inout_ptr (). constexpr per std :: optional, std :: variant, i std :: type_info :: operator ==. Els iteradors parelles constructors per a std :: stack(pila) i std :: queue(cua). Pocs canvis a la biblioteca d'intervals: Generalitzat starts_withi ends_withper a intervals arbitraris. S'ha canviat el nom split_viewa lazy_split_viewi nou split_view. Relaxant la restricció a join_view. S'està eliminant default_initializablerestricció des de view del concepte. Constructor d'interval per std :: basic_string_view. Prohibició de std :: basic_stringi std :: basic_string_viewconstrucció de nullptr. std :: invoke_r. Millores al std :: format. Afegint arguments per defecte per a std :: pairel constructor de reenviament.

Referències

Categoria:C++