REKLAMA

Programista 6/2025 (121) – grudzień/styczeń – Czym zachwyci nas C++26

W momencie pisania tego artykułu (listopad 2025) C++26 znajduje się w stanie feature freeze od czerwca 2025 roku. Oznacza to, że nie zostaną już dodane żadne nowe funkcjonalności, a komitet skupia się na rozwiązywaniu uwag krajowych ciał normalizacyjnych oraz naprawie błędów. Finalizacja standardu przewidywana jest na marzec 2026 roku w Londynie. C++26 przynosi przełomowe zmiany, szczególnie w zakresie refleksji. Jest ona wg Herba Suttera  „bardziej transformacyjna niż jakiekolwiek 10 innych głównych funkcjonalności, na które kiedykolwiek zagłosowaliśmy do standardu, razem wziętych"...

Zagadnienia poruszane w tym artykule:

  • Zmiany w języku;
  • Refleksja – nowa era metaprogramowania;
  • Implementacja funkcji enum_to_string;
  • Funkcja debug_print serializująca klasy;
  • Szersze możliwości refleksji;
  • Kontrakty - powrót po redesignie;
  • Pack indexing – bezpośredni dostęp do parameter packów;
  • Dyrektywa #embed;
  • Zakaz wiązania zwróconej referencji do obiektu tymczasowego;
  • Usuwanie wskaźnika do niekompletnego typu – błąd kompilacji;
  • Pętle nieskończone – koniec z undefined behawior;
  • Zmiany w bibliotece standardowej;
  • SIMD – wektoryzacja w bibliotece standardowej;
  • Algebra liniowa;
  • std::hive – kontener dla stabilnych adresów;
  • std::inplace_vector – wektor o stałej pojemności;
  • Hazard pointers i RCU;
  • Hardening biblioteki standardowej;
  • Funkcjonalności usunięte i przełożone na C++29;
  • Trywialna relokowalność – usunięta po odkryciu błędu;
  • Pattern matching – nie zdążył przed zamrożeniem.

Artykuł pochodzi z magazynu Programista nr 121 (6/2025). Szczegółowy spis treści wydania numer 121: https://programistamag.pl/programista-6-2025-121/

Autorem artykułu jest Paweł "KRZAQ" Zakrzewski, https://dev.krzaq.ccAbsolwent Automatyki i Robotyki oraz Informatyki na Zachodniopomorskim Uniwersytecie Technologicznym. Pracuje jako Software Engineer w Hex-Rays. Programowaniem interesuje się od dzieciństwa, jego ostatnie zainteresowania to C++, metaprogramowanie i inżynieria wsteczna.