Co to jest C++20?
W lutym 2020 ISO (Międzynarodowa Organizacja Normalizacyjna) zatwierdzono nową wersję C++ o nazwie C++20. C++20 zawiera najwięcej zmian w języku od czasu C++11.
Nowe ulepszenia w C++20
Dla Twojej ciekawości, oto lista głównych zmian, które dodaje C++20. Należy pamiętać, że ta lista nie jest wyczerpująca, ale ma raczej na celu podkreślenie niektórych najważniejszych zmian.
- Skrócone szablony funkcji za pomocą parametrów automatycznych (11.8 -- Szablony funkcji z wieloma typami szablonów)
- Rozszerzenia Chrono do obsługi kalendarza i stref czasowych (jeszcze nie ma tutoriala)
- Koncepcje, które pozwalają nałożyć ograniczenia na parametry szablonu (jeszcze nie ma tutoriala)
- Constexpr dynamic_cast i typeid (nie ma jeszcze tutoriala) jeszcze)
- Funkcje wirtualne Constexpr (jeszcze nie ma tutoriala)
- Constexpr try-catch (jeszcze nie ma tutoriala)
- Constinit słowo kluczowe, aby potwierdzić, że zmienna ma statyczną inicjalizację (jeszcze nie ma tutoriala)
- Współprogramy (jeszcze nie ma tutoriala)
- Wyznaczone inicjatory (13.8 -- Inicjowanie agregatu Struct)
- Funkcje natychmiastowe przy użyciu słowa kluczowego consteval (F.1 -- Funkcje Constexpr)
- Moduły, zamiennik #include (jeszcze brak tutoriala)
- Ranges (jeszcze brak tutoriala)
- std::erase (jeszcze brak tutoriala)
- std::make_shared dla tablic (brak tutoriala) jeszcze)
- std::map::contains() (jeszcze brak tutoriala)
- std::span (jeszcze brak tutoriala)
- Biblioteka formatowania ciągów (jeszcze brak tutoriala, zobacz https://en.cppreference.com/w/cpp/utility/format)
- Literały łańcuchowe jako parametry szablonu (jeszcze brak tutoriala)
- Porównanie trójstronne przy użyciu operatora statku kosmicznego <=> (bez tutoriala jeszcze)
- Korzystanie z wyliczeń o określonym zakresie (13.6 -- Wyliczenia o ograniczonym zakresie (klasy wyliczeniowe))
- Widoki (jeszcze nie ma samouczka)

