
Årtal: 2025
Här finner du alla artiklar publicerade under 2025, vilka det finns 21 av.

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 – två olika vägar för 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

När ska man använda STL list
I denna artikel förklarar jag när och varför du bör använda `std::list` ur STL, särskilt när du har många insättningar och borttagningar mitt i en container och behöver konstant O(1) prestanda. Du får en tydlig genomgång av den interna implementationen som dubbel-länkad cirkulär lista, samt praktiska exempel på hur insert och erase fungerar i praktiken. Dessutom diskuterar jag skillnader mot `std::forward_list` och andra sekvens-containrar.

Jens Riboe
15 juli 2025
6 minuter i lästid

STL deque, ett alternativ till vector
I denna artikel lyfter jag fram std::deque som ett kraftfullt alternativ till std::vector när du behöver snabb och flexibel hantering av data i båda ändarna av en container. Genom tydliga exempel och en konkret implementation av en trådsäker meddelandekö visar jag hur deque kan användas för att bygga robusta och effektiva lösningar i moderna multi-threaded C++-program.

Jens Riboe
14 juli 2025
15 minuter i lästid

Använder du STL array på rätt sätt
Artikeln ger dig en lättillgänglig introduktion till std::array, den smidiga syskoncontainern till std::vector i C++. Du får veta när och varför du ska använda std::array med dess fasta storlek och enkla syntax, samt praktiska tips för att arbeta säkert med dess element. Perfekt läsning för dig som vill få ut mesta möjliga av C++ standardbibliotek!

Jens Riboe
11 juli 2025
5 minuter i lästid

En djupdykning i C++ mest populära container
Artikeln beskriver `std::vector`, en populär containertyp i C++, som hanterar dynamiskt minne och möjliggör flexibel hantering av värden. Den går igenom olika metoder för initiering, minneshantering med `reserve()` och `resize()`, samt skillnader mellan `push_back()` och `emplace_back()`. Fokus ligger på att använda rätt tekniker för att förbättra prestanda och undvika onödig resursanvändning.

Jens Riboe
9 juli 2025
24 minuter i lästid

Vad är Modern C++, egentligen?
När man pratar om Modern C++, så tänker många direkt på nya språkfunktioner som auto, range-based for, smart pointers, lambdas, constexpr, concepts och mycket mer. Men i grunden handlar Modern C++ om något ännu viktigare: ett nytt sätt att tänka.

Jens Riboe
15 juni 2025
8 minuter i lästid

Initialiserar du på rätt sätt i C++?
Ett av de mest förbisedda, men samtidigt viktigaste ämnena i C++, är initiering. Hur vi väljer att initiera våra variabler påverkar inte bara korrektheten i programmet, utan även läsbarhet, säkerhet och förutsägbarhet.

Jens Riboe
15 maj 2025
8 minuter i lästid

Använder du lambda-uttryck i C++?
En av de mest uppskattade nyheterna i Modern C++ är utan tvekan lambda-uttryck. När de introducerades i C++11, så innebar det ett stort steg mot mer uttrycksfull och koncis kod. Här kommer jag att gå igenom syntaxen, visa flera exempel, samt peka ut några viktiga fördelar.

Jens Riboe
15 apr. 2025
8 minuter i lästid

Använder du auto i C++?
En av mina favoriter i _Modern C++_, är användandet av `auto`. Det är när man deklarerar en variabel och låter kompilatorn klura ut dess typ baserat på typen för det uttryck som initierar denna. Här får du lära dig mer om auto i C++.

Jens Riboe
15 mars 2025
13 minuter i lästid

Hur jag började med C++
Här berättar jag om när och hur jag började programmera i C++, samt att det är fortfarande mitt favorit språk.

Jens Riboe
15 feb. 2025
6 minuter i lästid

Varför C++ skapades
Varför skapades C++ och vilka programspråk bidrog till utformningen av det? Dessa frågor plus några till besvarar jag i denna artikel.

Jens Riboe
15 jan. 2025
11 minuter i lästid