Kategori: C++26
Här finner du alla artiklar märkta med kategorin C++26, vilka det finns 1 av.
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
73 minuter i lästid