Sökresultat för

Kategori: C++26

Kategori: C++26

Här finner du alla artiklar märkta med kategorin C++26, vilka det finns 3 av.

Tillbaka till översiktssidan.

C++26 ORM via Reflection

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
Jens Riboe

29 sep. 2026

26 minuter i lästid

C++26 Reflection

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
Jens Riboe

18 sep. 2026

15 minuter i lästid

C++26 Contracts

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
Jens Riboe

11 sep. 2026

24 minuter i lästid