Kategori: C++26
Här finner du alla artiklar märkta med kategorin C++26, vilka det finns 3 av.
C++26 ORM via Reflection
Annotera en vanlig struct och få tabeller, CRUD och typade queries — utan en rad SQL. Java har haft det i tjugo år, och nu kan C++26 också. I den här artikeln bygger jag ett litet men fullt fungerande ORM-ramverk med compile-time reflection, som pratar med både PostgreSQL och SQLite, och stöter på vägen på ett hinder ingen varnade för. Avslutningsvis läser vi in tusen personer från en CSV-fil, stoppar in dem i databasen och spottar ut resultatet som JSON — allt med samma reflektiva teknik, i kod som helt enkelt inte gick att skriva före C++26.
Jens Riboe
29 sep. 2026
26 minuter i lästid
C++26 Reflection
Kompilatorn har alltid vetat exakt vad dina structar innehåller — den har bara aldrig velat berätta. I C++26 gör den det, och du får skriva din sista to_string() för hand. Men det här är inte reflection som i Java: ingen metadata i binären, inga typobjekt att slå upp, ingenting som kostar en enda instruktion vid körning. En reflektion är ett constexpr-värde som föds och dör inne i kompilatorn. Jag går igenom fyra nya bitar syntax — cat ears, splice, template for och annotationer — bygger en generisk stringify() på 25 rader som renderar vilken struct som helst, och tar sedan isär vad expansionen faktiskt kompilerar till. Svaret är precis den kod du hade skrivit själv, rad för rad.
Jens Riboe
18 sep. 2026
15 minuter i lästid
C++26 Contracts
Kommentaren ovanför funktionen — "n måste vara >= 0" — har vi alla skrivit, och vi vet alla hur ofta den läses. C++26 flyttar in antagandet i själva signaturen med pre, post och contract_assert, och löser samtidigt den fråga som sänkte hela förslaget ur C++20: vad som ska hända när ett kontrakt bryts står inte i koden, utan bestäms när du kompilerar. Jag bygger en ringbuffert där man får se en bugg fortplanta sig i direktsändning, skriver en egen violation handler och går igenom fällorna i GCC 16 — med början i det klassiska clamp-exemplet, som inte ens kompilerar.
Jens Riboe
11 sep. 2026
24 minuter i lästid