Artiklar & Nyheter
Här kan du läsa ett brett fält av artiklar, från tekniska artiklar med gott om källkod, via kåserier om tidigare eskapader, till rena kursnyheter och helghälsningar.
Optimering av Word-Count programmet
I denna artikel utgår jag från ett word-count-program skrivet med C++20/23 ranges och views och optimerar det steg för steg. Vi går från en tydlig men långsam baseline till en betydligt snabbare lösning genom kompilatorflaggor, förallokering, optimerade teckenfunktioner och en minnesmappad indata-fil, och använder Google Benchmark för att jämföra de olika versionerna.
Jens Riboe
10 dec. 2025
49 minuter i lästid
Räkna ord med ranges och views
Bygg ett komplett C++20/23-program som läser Shakespeares samlade verk, räknar ordfrekvenser och visualiserar resultatet som ett interaktivt ordmoln i HTML. Längs vägen utforskar vi ranges, views, egna iteratorer och hur man komponerar en tydlig pipeline för textbearbetning. Vi tittar också på prestanda och jämför en specialiserad lösning med mer “naiva” alternativ som std::istream_iterator, för att se vad som faktiskt gör skillnad i praktiken.
Jens Riboe
2 dec. 2025
33 minuter i lästid
Iteratorer och STL Ranges
Tänk om STL-algoritmer kunde läsas som en shell-pipeline, i stället för skicka med first/last iterator-par i en serie av algoritm-funktionsanrop. I denna artikel visar jag med en egen-utvecklad enkel-länkad lista som utgångspunkt, hur du kan använda C++20/23 ranges/views för att skicka hela containrar, kedja transformationer, avbryta iterationer med sentinels, och projicera ut delar av objekt. Slutresultatet är både mindre mängd och tydligare programkod.
Jens Riboe
30 nov. 2025
11 minuter i lästid
Iteratorer och STL Algoritmer
Vad krävs för att egna iteratorer ska spela snyggt med C++ standardbibliotekets algoritmer? I den här artikeln går vi från input/output till bidirectional och random‑access, visar vanliga fallgropar, rättar dem – och avslutar med en konkret checklista. Perfekt för dig som bygger egna containrar eller vill förstå varför vissa algoritmer kräver vissa iterator‑egenskaper.
Jens Riboe
4 nov. 2025
20 minuter i lästid
Använder du smarta pekare i C++?
Byt osäker manuell minneshantering mot moderna smarta pekare. Artikeln går från ett egenbyggt mini-exempel till tydliga tumregler för ägarskap kontra lån: unique_ptr som förstahandsval och shared_ptr när delat ägande verkligen behövs. Du får se hur make_unique/make_shared gör konstruktion ren och idiomatisk. Med konkreta, verklighetsnära kodexempel – inklusive polymorfa containers – blir principerna lätta att använda i din egen C++-kod.
Jens Riboe
29 sep. 2025
40 minuter i lästid
Tillämpar du Rule-of-Zero i C++?
Hur mycket kan du egentligen om C++:s special members och deras regler? I den här artikeln går vi från Rule of Three till Rule of Five och vidare till den moderna Rule of Zero. Med konkreta exempel, vanliga fallgropar och ett realistiskt program visar jag varför Rule of Zero gör din kod både enklare, säkrare och mer robust.
Jens Riboe
26 sep. 2025
64 minuter i lästid
Från pekare till iteratorer i C++
Har du någonsin funderat på hur C++ egentligen lyckas göra samma algoritmer användbara för helt olika containers? Hemligheten stavas iteratorer. I denna artikel tar vi steget från klassiska pekarintervall till egna iterator-klasser och utforskar de olika kategorierna. Följ med bakom kulisserna och upptäck hur grunden till STL:s algoritmer verkligen fungerar.
Jens Riboe
9 sep. 2025
41 minuter i lästid
valarray vs. vector – numeriska beräkningar
De flesta C++-utvecklare är välbekanta med `std::vector`, som är en av de mest använda och mångsidiga containrarna i STL. Däremot är dess kusin `std::valarray` en betydligt mer obskyr medlem av standardbiblioteket – och används sällan i praktiken. I den här artikeln tittar vi närmare på likheter, skillnader och när `valarray` faktiskt kan vara ett vettigt val.
Jens Riboe
23 aug. 2025
15 minuter i lästid
Visste du att string kan användas som en vector
std::vector och std::string kan vid första anblick verka som helt olika containrar. Men de delar många egenskaper – och string klassen erbjuder ibland fördelar, även för icke-textdata. I denna artikel går jag "utanför lådan" genom att påvisa hur du kan använda string klassen på ett fiffigare sätt än med vector klassen. Häng med och läs en kul och annorlunda artikel om C++.
Jens Riboe
19 aug. 2025
12 minuter i lästid
Så här använder du span-view i C++
En introduktion till std::span (C++20). Artikeln förklarar skillnaden mellan pekare, array och span. Med kodexempel visas praktiska användningsfall.
Jens Riboe
17 aug. 2025
16 minuter i lästid
Så här använder du adapter-containrar i C++
En introduktion till de tre adapter-containrarna i C++ standardbiblioteket: std::stack, std::queue och std::priority_queue. Artikeln förklarar vad en adapter-container är, hur dessa fungerar internt, samt visar praktiska användningsfall med kodexempel.
Jens Riboe
16 aug. 2025
19 minuter i lästid
Bekanta dig med nya flat containers i C++
En introduktion till C++23:s nya associativa containrar std::flat_set och std::flat_map. Artikeln beskriver hur dessa fungerar internt, när de är mer effektiva än vanliga tree containers, samt visar praktiska exempel på insättning, sökning och borttagning.
Jens Riboe
14 aug. 2025
14 minuter i lästid
Så här använder du hash-table containers i C++
En introduktion till C++ standardbibliotekets hash-table-baserade associativa containrar: `std::unordered_set` och `std::unordered_map`. Artikeln beskriver hur dessa fungerar under huven, när du bör använda dem istället för tree containers, samt visar praktiska exempel på insättning, sökning och borttagning av element.
Jens Riboe
13 aug. 2025
12 minuter i lästid
Så här använder du tree containers i C++, del 2
Lär dig använda std::map i C++ på ett praktiskt och tydligt sätt i denna andra del av bloggserien om STL:s tree containers. Med konkreta kodexempel visas hur du effektivt itererar, söker, och lägger till element – inklusive en genomgång av insert(), emplace() och indexoperatorn. Perfekt för dig som vill fördjupa förståelsen av C++:s standardbibliotek.
Jens Riboe
30 juli 2025
10 minuter i lästid
Så här använder du STL tree containers
Lär dig hur std::set fungerar under huven med hjälp av binära sökträd. Artikeln visar med tydliga exempel hur du effektivt använder denna container, inklusive insättning, sökning och borttagning av element. Du får också se hur du implementerar egna jämförelseoperatorer för specialanpassade datatyper. En perfekt introduktion för dig som vill förstå och utnyttja STL:s set på djupet. Detta är del 1 av 2.
Jens Riboe
28 juli 2025
21 minuter i lästid
Senaste Artiklarna
-
Optimering av Word-Count programmet
10 december 2025 -
Räkna ord med ranges och views
2 december 2025 -
Iteratorer och STL Ranges
30 november 2025 -
Iteratorer och STL Algoritmer
4 november 2025 -
Använder du smarta pekare i C++?
29 september 2025 -
Tillämpar du Rule-of-Zero i C++?
26 september 2025 -
Från pekare till iteratorer i C++
9 september 2025 -
valarray vs. vector – numeriska beräkningar
23 augusti 2025