C++26

From Wikipedia, the free encyclopedia

Remove ads

C++26 je neformální jméno pro připravovanou verzi ISO a IEC 14882 normy programovacího jazyka C++, která následuje po C++23. Aktuální draft této verze je N4981.[1]

Stručná fakta Verze jazyka C++ ...

Vlastnosti

Mezi změny, které mají být součástí C++26, patří:

Jazyk

  • Nevyhodnocované řetězce
  • Přidání znaků @, $ a ` k základní znakové sadě
  • constexpr změna typu z void*
  • Uživatelsky generované zprávy static_assert
  • Zástupné proměnné bez jména
  • Zhuštěné indexování
  • Atributy pro strukturované vazby
  • Chybné chování pro neinicializovaná čtení
  • = delete("reason");
  • Variadické friend funkce
  • constexpr umístění new
  • Deklarace strukturované vazby jako podmínka
  • Řazení omezení obsahující výrazy s opakovaným použitím operátoru (anglicky fold expressions)
  • Smazání ukazatele na neúplný typ musí být chyba
  • Strukturované vazby mohou zavést balíček s proměnným počtem prvků (anglicky pack)[2]
  • Umožnění vyhazování výjimek při vyhodnocování konstant
  • strukturované constexpr vazby a odkazy na constexpr proměnné
  • „Vypuštění parametrů bez předchozí čárky je nedoporučované. Zápis (int...) je nekompatibilní s jazykem C, škodlivý v C++ a snadno nahraditelný zápisem (int, ...).“[3]
  • Odstranění nedoporučovaných porovnání polí

Knihovna

  • Podpora hašování pro hodnoty třídy std::chrono
  • std::is_within_lifetime
  • Nativní manipulátory v souborových proudech
  • Rozhraní řetězcových proudů s std::string_view
  • Rozhraní std::bitset s std::string_view
  • Další constexpr v hlavičkových souborech <cmath> a <complex>
  • Přidání nových předpon podle SI z roku 2022 násobky: std::quecto, std::ronto, std::ronna a std::quetta
  • std::copyable_function
  • std::submdspan()
  • <debugging>: podpora ladění
  • <linalg>: volné rozhraní pro funkce lineární algebry vycházející z BLAS
  • Přidán protokol n-tic do std::complex
  • views::concat
  • Zřetězování řetězců a řetězcových pohledů
  • std::ranges::generate_random
  • Tisk prázdných řádků funkcí std::println()
  • std::formatter<std::filesystem::path>
  • Aritmetika se saturací, mimo jiné std::add_sat a std::div_sat
Remove ads

Odkazy

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads