C++ Hizkuntzaren Normalizaziorako ISO Batzordea onartua nazioarteko estandarra"C ++ 20". Zehaztapenean aurkezten diren gaitasunak, kasu isolatuak izan ezik, onartzen konpiladoreetan GCC, Deika и Microsoft Visual C ++. C++20 onartzen duten liburutegi estandarrak inplementatzen dira proiektuaren barruan Boost.
Datozen bi hilabeteetan, onartutako zehaztapena argitalpenerako dokumentua prestatzeko fasean egongo da, eta akats ortografikoen eta akatsen erredakzio-zuzenketa lanetan egingo da. Azaroaren hasieran, ondoriozko dokumentua ISOra bidaliko da ISO/IEC 14882:2020 izen formalarekin argitaratzeko. Bitartean, batzordea dagoeneko hasi da hurrengo C++23 estandarra (C++2b) lantzen eta hurrengo bilera birtualean aukera posibleak aztertuko ditu. berrikuntzak.
"Kontzeptuak" gehitu dira, txantiloi-luzapenak, txantiloi-parametro-eskakizunen multzoa definitzeko aukera ematen dutenak, konpilazio garaian txantiloi-parametro gisa onar daitezkeen argumentu-multzoa mugatzen dutenak. Kontzeptuak txantiloiaren barruan erabiltzen diren datu-moten propietateen eta sarrera-parametroen datu-moten propietateen arteko inkoherentzia logikoak saihesteko erabil daitezke.
txantiloia
kontzeptua BerdintasunaKonparagarria = eskatzen du(T a, T b) {
{ a == b } -> std::boolean;
{ a != b } -> std::boolean;
};
Onartua hedapen goiburuko fitxategien ordez erabil daitezkeen moduluekin lan egiteko. Moduluek iturburu kodea antolatzeko modu berri bat eskaintzen dute osagaien mugak definitzean oinarrituta, "#include" bidez goiburuko fitxategiak sartu gabe.
Hiru norabideko konparaziorako "" operadorearen laguntza.
Bit-eremuetarako elementu lehenetsien hasierako laguntza.
"*hau" esamoldeak lambda harrapatzeko gaitasuna.
egitura int_balioa {
int n = 0;
auto getter_fn() {
//TXARRA:
// itzuli [=]() { itzuli n; };
// ONDO:
itzuli [=, *hau]() { itzuli n; };
}
};
Erakuslearen bidez elementuak deitzea (Erakusletik kidera), “const &” adierazpenaren bidez definitutako aldi baterako objektuetarako erakusleak erabiliz.
Dokumentuan deskribatutako suntsitzaile batekin ezabatzeko operadorea P0722R1.
Klaseek txantiloi-parametroak motarik gabe erabiltzeko baimena dute.
std::string_view to_string(rgba_color_channel nire_kanala) {
aldatu (nire_kanala) {
enum rgba_color_channel erabiliz;
case red: itzuli "gorria";
case green: itzuli "berdea";
kasu urdina: itzuli "urdina";
case alpha: itzuli "alpha";
}
}
Indizeetan, zehaztu gabeko portaera dela eta, debekatuta dago “,” (“a[b,c]”) eragiketa erabiltzea. Gako-hitz lurrunkorrarekin deklaratutako aldagaien eragiketa gehienetarako laguntza eten egin da, mota estandarrak dituzten “++” eta “—” eragiketak barne.
Mota baten presentzia adierazteko "typename" behar den egoera kopurua murriztu da.